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

関連記事

EverLearn 1.7.2 を公開しました

英単語学習用アプリ EverLearn 1.7.2 を公開しました (2015/10/22)TOEF

記事を読む

久々に Reject をくらった話

稼働日カウントダウンという昔作ったアプリにAppStoreのレビューのコメントでリクエストがあった。

記事を読む

no image

Xcode 設定しておくと便利なカスタマイズいろいろ

以前から Xcode はもう一歩使いにくいと思っていたが、iPhone アプリで稼げるのか でカスタ

記事を読む

no image

[iPhone SDK] Log Locations 1.2 を Submit

かなり久しぶりに、自動で毎日移動した場所を記録する Log Locations をアップデートした。

記事を読む

no image

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

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

記事を読む

[iOS8] BlocksKit で不具合発生

iOS8 にアップデートしたところ、BlocksKit の UIAlertView と UI

記事を読む

Pebbleアプリ改造中

PebbleアプリEverLearnを改造中です。1秒1単語で1分間で60単語を表示。左が初代Peb

記事を読む

no image

iPad のマルチタッチジェスチャーによるバグ

iPad/iPad2 はXcodeを利用することでマルチタッチジェスチャーが利用可能になっていました

記事を読む

no image

iPhoneアプリケーションプログラミング 新居雅行 購入

今年6月末にでたときには、「またiPhoneプログラミング本が出たんだなー」「表紙が地味だなー」「特

記事を読む

no image

iPhoneアプリネットワーク+GPSプログラミング 橋本佳幸

去年12月に読んで、途中まで感想を書いてそのままにしていた。ネットワーク関連の実用的なコードが多くて

記事を読む

Message

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

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

[買ってみた] iPhone 11 Pro Max

iPhone 11 Pro Maxを発売日の2019/9/2

[買ってみた] Ember Temperature Control Mug 2

Ember セラミック マグ posted with ama

LogLocations 1.4.5 リリース

LogLocations 1.4.5 をリリースしました。

[買ってみた] ポーレックスセラミックコーヒーミル

ポーレックス コーヒーミル セラミック ミニposted w

アプリアップデート数はApp Store Connectアプリで確認できる

自作アプリのアップデート数をSafari のApp Stor

→もっと見る

PAGE TOP ↑