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

関連記事

no image

英単語リスト探し中 → GSL と AWLを発見

今作っている英単語学習用iPhoneアプリは基本的には自分で英単語を入力して問題にするのだけれども、

記事を読む

[WatchKit] WatchSim 買ってみた

WatchSim Danny Keogan posted with iT

記事を読む

英単語学習アプリ EverLearn 1.4.0 を公開しました

ようやく、iOS7 に対応した EverLearn  1.4.0 を公開しました。 i

記事を読む

no image

3/8(木)深夜はiPad3の発表?

3/7(水)(日本時間3/8(木)深夜) にAppleのプレスイベントがあり、iPad3 が発表

記事を読む

[iOS SDK][Kindle] iOS7開発テクニック集 Xcode編

iOS7開発テクニック集 Xcode編 ZuvolaZuvola 2014

記事を読む

英単語学習アプリ EverLearn Ver.1.2.5 が公開されました

2016/03/05 Updateこの記事は公開時(2013年10月)から時間が経って古い内容になっ

記事を読む

Apple Developer Program 更新 2020

毎年行うが1年ごとなのでいつも前年の作業を忘れてしまう。 振り返ってみたところ2009年から

記事を読む

[Xcode] Interface Builder でControl+ドラッグでOutletが作成できない

たまにInterface Builder でUI作っているとはまるのでメモしておく。 Xco

記事を読む

Pastebot が OSX 用になっていた

昔使っていたがいつの間にか使わなくなっていた Pastebot が、いつの頃からかiOS版がなくなり

記事を読む

iOS16でaurioTouch の inBufferFramesが1になる

https://developer.apple.com/library/archive/sampl

記事を読む

Message

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

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

Wi-Fi6Eルータ TP-Link AXE5400購入

Wi-Fi6E を試してみたくなり、TP-Link AXE5

児童手当 認定請求書申請 2024 「請求者が養育をする18歳に達する日以降の最初の3月31日までの子の数」とは?

2024年に受給していない人には手紙が届くらしい。 電子申請も

Vision Proアプリ開発本 8/24、8/26に発売

Vision Proアプリ開発入門 P400が 8/24 に発売、V

Developer Strap が日本でも購入可能に

USアカウントでしか購入できなかった Vision Pro 用 De

Vision Pro カバーケースを買ってみた

[itemlink post_id="11629"]

→もっと見る

PAGE TOP ↑