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本体に手を入れさせてもらった。
手を入れないで対応できる方法が思いつけば良かったけれども。
関連記事
-
-
英辞郎第7版からアルクのSVLを EverLearn に取り込む方法
英辞郎 第七版(辞書データVer.136/2013年1月8日版)アルク企画開発部 アルク 2013
-
-
タッチ! アメリカ地図 1.0.1 アップデート
タッチ! アメリカ地図 のアップデート(バージョン 1.0.1)を8月から5ヶ月ぶりにApp Sto
-
-
Your application status is Ready for Sale
5/2にAppStoreにSubmitしたアプリに関して、Apple から Your applica
-
-
おすすめ iPhone5用ケース iJacket
iPhone5購入時に同時に購入したケース(写真上)が1ヶ月程度でかなりみすぼらしい状態
-
-
おんぷちゃん for iPad 1.3.3 Submit
今回は紅白歌合戦を見ながらSubmit。 相変わらずうちの娘が譜読みに苦労していて新しい曲を弾く
-
-
iPad用ケース TUNESHELL for iPad
iPadは使ってないとき机の上に置くと意外に場所を取る。どう置くかは工夫のしどころだと思われる。 ま
-
-
[iOS開発本] ARC や Storyboardなどを説明した本
ARC や Storyboard を紹介した良い本を教えてほしい、と会社のマニアな人に質問されたので
-
-
FlashAir W-03活用開始
ようやく休みになったので、FlashAir W-03を活用してみることにした。まずは、iOSから使え
-
-
Objective-C 2.0のプロパティで再びはまる
Objective-C 2.0のプロパティに関してはまったことがあり、これはちょっと詳しく知っておく
-
-
Apple に Bug Report を送信、iOS 11.3で修正された
EverLearnのユーザの方から、toothache の発音がおかしいので直してほしいという依頼が