UIKit
UIWebViewには、表示するコンテンツを読み込むためのメソッドとして、次の3つが用意されている。 loadRequest: loadHTMLString:baseURL: loadData:MIMEType:textEncodingName:baseURL: これらのメソッドはコンテンツ読み込みを行うという点では同じだけれど…
UIImagePickerControllerを使った写真撮影機能を実装していたとき、iOS 7未満では何の問題もない次のようなコードを実行すると、iOS 7.0以降ではシャッターボタンをタップして写真撮影を行ったぐらいのタイミングでアプリが操作不能になる現象が発生した。 -…
EventKitを利用したAppを開発していたとき、イベント編集画面のView Controller*1上で「完了」/「キャンセル」/「イベントを削除」のいずれかのボタンがタップされたタイミングでこのView Controllerをdismissするために、eventEditViewController:didComple…
UIImagePickerControllerを利用して写真を撮影するとき、Portrait固定にしたいのになかなかできず苦労した。 失敗例 以下の方法を試してみたが、うまくいかなかった。 Xcodeのビルドターゲットの設定で「Supported Interface Orientations」を「Portrait」の…
文字列を画像化する方法を調べてみたら、オフスクリーン描画をしてグラフィックスコンテキストから画像を得る方法が簡単だった。 Page not found · GitHub Pages 上記のページを参考にして、指定されたサイズの領域の中央に文字列を描画して画像化するコード…
Storyboardを使用することによって、1つのファイルで複数のViewの内部構成や各View間の遷移する様子を設計することができる。ところが、Viewの数が多いプロジェクトでは、1つのStoryboardでそれらのViewを一括管理しようとすると、従来のXibファイルを用いた…
iOS 5.0より前のバージョンのiOS SDKではUI要素の外見をカスタマイズするためには、 各オブジェクトごとにプロパティの変更等の個別設定を行う サブクラス化してdrawRect:をオーバーライドする などの方法をとらなければらななかったが、iOS 5.0では各種UI要…
iOS 5.0ではUIActivityIndicatorViewが表示されなくなることがある UIActivityIndicatorViewを使用しているプロジェクトをXcode 4.1以前で作成し、そのプロジェクトをXcode 4.2でiOS 5.0向けにビルド・実行すると、UIActivityIndicatorViewが表示されないこ…
UIWebViewを使用する上での簡単な注意点をいくつか。 UIWebViewオブジェクトはリリース前にdelegateにnilを設定しておくこと リリース前にdelegateにnilを設定しておく必要があるのは、次のページで詳細に説明されているように、UIWebViewのロード処理が別ス…
iPad AppでPopover内にNavigationベースのViewを表示するときの話。*1 Popoverのサイズが元に戻らないことがある Navigation ControllerのRoot Viewのサイズが、その1つ下の階層のView(ここでは「Second View」と呼ぶ)のサイズよりも小さい場合、Second Vi…
UITabBarControllerで複数のNavigation Controllerを切り替える形式のUIを実装し、動作確認してみた。すると、各Navigation Controllerが管理するView ControllerではviewWillAppear:animatedおよびviewDidAppear:animatedがコールされていないことに気がつ…
iOS Appではタブ選択時には対応するViewControllerのRootViewを表示すべき? - 甘いものが好きです上記リンクの記事では、タブ選択時にはそのタブに対応するViewControllerのRootViewを表示すべきことがAppleの資料に記載されていることを指摘した。そこで、…
UITabBarControllerの各タブにNavigationベースのViewを対応づけておく場合、実装方法によっては、あるタブに対応するViewで階層を掘り下げて表示している状態でタブを切り替えてからまた元のタブに戻したときに、下の階層が表示されたままになってしまう。…
iOS SDK 4.3現在の話。UISearchResultControllerを使用して検索機能を実装している。検索結果を表示するTableView (searchResultsTableView) 上で、1件の検索結果に対して複数の項目を表示したい。1つの項目だけであれば、TableViewのスタイルをPlain (UITab…
UIViewのアニメーションの二重実行を防ぐためには、実行開始時にフラグを立てて実行終了後にフラグを落とせばよい。UIViewクラスのクラスメソッドsetAnimationDelegate:でdelegateを設定すると、アニメーションが終了したタイミングでdelegateのanimationDid…