iPhone開発のネタ帳: コールアウト代用部品を作る
Map Kit を使うと、地図上に吹き出しのようなものを表示できる。この吹き出しのようなものをコールアウト Callout と呼ぶらしい。
このコールアウトは MKMapView でしか使用できないと思うが、地図アプリ以外でも使えたら便利だ。
しかし今はMKMapViewでしか使用できないコントロールとなっている。
ということで、自作アプリではsonsongithub の PopupView を使ってみたのだが、使っているうちに、コールアウトのようにUITableViewCellAccessoryDetailDisclosureButton (青丸に白で>と書かれているボタン)を表示したりしたくなってきた。
PopupView を改造することを考えたが、実際やってみると簡単にはできなそう。
しかしよく考えると自分のアプリは今のところiPad専用なので、UIPopoverController を使う手もありそう。
UIPopoverController はUIViewをPopover内に何でも表示することができるので、この中にUITableViewを表示すれば、UITableViewCellAccessoryDetailDisclosureButton を表示することができそう。
ということで、作ってみたら見た目は違うけれども一応使えるものができた。
… と思ったのだが、実際に使ってみるとUIPopoverControllerはコールアウトとはかなり挙動が異なる。ある程度 passthroughtViews とかで挙動を変えられるが、それでもちょっと使いづらいのでコールアウトの代わりに使うのは見送りとした。
もう一度 PopupView の改造にトライしようと新規にダウンロードしたところ、UIView が組み込めるように更新されていて驚いた。1日前に更新されたようだった。
このため、UIView を自分で作ることでコールアウトに近いものを作ることができた。
ただ、コールアウト中の UITableViewCellAccessoryDetailDisclosureButton (青丸に白で>と書かれているボタン) は単なるUIView派生クラスを組み込んでしかもそのボタンを押したときに特別な処理を呼ぶことはできなかったので、少しだけSNPopupView本体に手を入れさせてもらった。
手を入れないで対応できる方法が思いつけば良かったけれども。
関連記事
-
おんぷちゃん for iPad 1.3.3 Submit
今回は紅白歌合戦を見ながらSubmit。 相変わらずうちの娘が譜読みに苦労していて新しい曲を弾く
-
メイドインジャパンとiPad、どこが違う? 世界で勝てるデジタル家電 感想
西田宗千佳氏の本はいつも面白い。 今回も予想に違わず面白かった。 自分も同じような情報は知っているは
-
iPhoneアプリ おんぷちゃん開発日記 iPad版をアップデート
iPhoneアプリサポートページ の方に書きましたが、4月30日にようやくiPad用のアップデート版
-
[iOS SDK] 実装ファイルでメンバ変数を宣言する
Xcode 4.x を導入したらいろいろ見慣れない記法があったので、いまさらながら一部まとめてみた。
-
[iOS SDK] SSPieProgressView を使ってみた
iOS オープンソースライブラリ徹底活用 菊田剛著 秀和システム | DevCafeJp で紹介さ
-
Anker の高耐久ライトニングケーブルを買ってみた
立て続けに2本ライトニングケーブルが壊れたので、ふんぱつして高級ケーブルを買ってみた。 たしかに
-
開発をサポートできませんでした。
久しぶりにiPod touch 初代を MacBook に接続したら、「開発をサポートできませんで
-
Xcodeの Console出力をクリアするキーバインド
いつも忘れるので、メモとして残しておく。Command(⌘)+ Kその他はこちら。 Menu Com
-
Apple、iPhoneアプリは今後3.0互換でなければ受付けないと通告
Apple、iPhoneアプリは今後3.0互換でなければ受付けないと通告 うちにはこのメールは届いて
-
iPad 第7世代がほしい
自分は iPad mini 4 を使っているが、これだと画面が小さくて、リフロー版でないK