iPhone開発のネタ帳: コールアウト代用部品を作る

公開日: : iPad, iPhone ,

IMG_0619.PNG

Map Kit を使うと、地図上に吹き出しのようなものを表示できる。この吹き出しのようなものをコールアウト Callout と呼ぶらしい。
このコールアウトは MKMapView でしか使用できないと思うが、地図アプリ以外でも使えたら便利だ。
しかし今はMKMapViewでしか使用できないコントロールとなっている。
IMG_0278.PNG
ということで、自作アプリではsonsongithub の PopupView を使ってみたのだが、使っているうちに、コールアウトのようにUITableViewCellAccessoryDetailDisclosureButton (青丸に白で>と書かれているボタン)を表示したりしたくなってきた。
PopupView を改造することを考えたが、実際やってみると簡単にはできなそう。
しかしよく考えると自分のアプリは今のところiPad専用なので、UIPopoverController を使う手もありそう。
UIPopoverController はUIViewをPopover内に何でも表示することができるので、この中にUITableViewを表示すれば、UITableViewCellAccessoryDetailDisclosureButton を表示することができそう。
callout.png
ということで、作ってみたら見た目は違うけれども一応使えるものができた。

… と思ったのだが、実際に使ってみるとUIPopoverControllerはコールアウトとはかなり挙動が異なる。ある程度 passthroughtViews とかで挙動を変えられるが、それでもちょっと使いづらいのでコールアウトの代わりに使うのは見送りとした。
もう一度 PopupView の改造にトライしようと新規にダウンロードしたところ、UIView が組み込めるように更新されていて驚いた。1日前に更新されたようだった。
このため、UIView を自分で作ることでコールアウトに近いものを作ることができた。
ただ、コールアウト中の UITableViewCellAccessoryDetailDisclosureButton (青丸に白で>と書かれているボタン) は単なるUIView派生クラスを組み込んでしかもそのボタンを押したときに特別な処理を呼ぶことはできなかったので、少しだけSNPopupView本体に手を入れさせてもらった。

手を入れないで対応できる方法が思いつけば良かったけれども。
callout03.png

関連記事

[iOS SDK] Miselu C.24 対応(Bluetooth MIDI対応)

自作アプリの Miselu C.24 対応(というかBluetooth MIDI対応)を行ったので、

記事を読む

4年ぶりにLogLocationsをアップデート

4年ぶりにLogLocationsのアップデート版を作成中。3年間更新していなかったので、画面がフラ

記事を読む

no image

iPhoneアプリをぬるぬるとつくろう。

かごおたさんのこの記事 はポイントが簡易にまとまっていてiPhoneアプリを作り始める際にはよい

記事を読む

no image

おすすめ iPhone5用ケース iJacket

iPhone5購入時に同時に購入したケース(写真上)が1ヶ月程度でかなりみすぼらしい状態

記事を読む

no image

iPadアプリ おんぷちゃん が雑誌に紹介されました

いろいろあって、iPhone/iPad アプリのおんぷちゃん がムジカノーヴァ2011年2月号で紹介

記事を読む

au iPhone 6 Plus 64GB Silver 届いた

9/19 の発売以来、悩み抜いた結果 au で iPhone 6 Plus 64GB S

記事を読む

no image

View-Based Application に UINavigationController を追加する方法その2

今回はSkitchを使ってキャプチャ画像を貼ってみた。キャプチャだとコードがコピペできないが...

記事を読む

no image

iPad2 を iOS5 にアップデート

iOS5 はまだ不安定な印象があったので、iPod touch 4th に入れただけで様子を見ていた

記事を読む

no image

Learn iPhone and iPad Cocos2D Game Development

洋書だけれども、ApressからCocos2d を使ってゲーム開発する本として Learn iPho

記事を読む

no image

[iOS] アプリ名を変更したところなぜかビルドが通らなくなり苦労した話

アプリ名にiPadと入れるとRejectされる に書いたとおり、アプリ名に iPad が入っていた

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

LogLocations 1.4.0 写真表示対応

行動ログは取りたいが、何も操作したくない。という自分のようなずぼらな

Apple Watch用バッテリーロガーを公開しました

1年前に開発し、App StoreにSubmitしたものの Reje

Guideline 2.5.10 – Performance – Software Requirements で Reject

2019年3月27日以降、iPhone Xs Maxの画面サイズ6.

XcodeにiPhoneとwatchが表示されない

2019年はGWに10連休があるということで、今日は3日目。毎日少し

Xcode のインストール進捗確認

Mac App Store を使って 2019/04/18に公開され

→もっと見る

PAGE TOP ↑