UIKit

UINavigationController配下のビューの閉じ方

UINavigationControllerの制御下(遷移下)のUIViewControllerで処理が終了したのでビューを閉じようとしたのだが、全く反応が無い。 FooViewController.m [self dismissViewControllerAnimated:YES completion:nil]; //全く反応無し このFooViewControllerはU…

UINavigationController:navigationItemの戻るボタンのテキスト

は遷移元のビューのUINavigationController:navigationItem.titleをセットしないと表示されない。以前に紹介したように、タイトルをカスタマイズするために独自のラベル(UILabel)をUINavigationController:navigationItem.titleViewにセットしていても同じな…

scrollToRowAtIndexPathが期待通りに動作しない

UITableView:scrollToRowAtIndexPath:atScrollPosition:animated:は任意のIndexPathが指す行位置にテーブルビューをスクロールする便利なメソッドなのだが、テーブルビューの最後の行数行に対しては実行しても無視されてしまう(スクロールが起こらない)。親…

UIViewContollerの遷移とライフサイクルメソッド

モーダル画面の遷移がある場合のUIViewControllerのライフサイクルメソッドの呼ばれる順に関して混乱したので、再度まとめる。(前にも同じ内容のエントリをポストしたかもしれない)UIViewController A を表示した後に、UIViewController Bに遷移する場合、メ…

UIAlertViewの予期せぬwillPresentAlertView

UIAlertViewクラスのwillPresentAlertViewメッセージはUIAlertViewのライフサイクルをトラッキングするUIAlertViewDelegateに属しており、ダイアログが表示される直前に呼ばれる。 UIAlertViewDelegate Protocol ReferenceUIAlertViewクラスはUIKitの中でも…

UIViewControllerのデリゲートが呼ばれないのには訳がある

ビューが表示される際にSettingsをロード、ビューが消える際にSettingsをセーブすれば良いはずだが、FooViewControllerに配置されているbtnBack(UIBarButtonItem)がタップされてdismissModalViewControllerAnimated:が呼ばれた際にviewDidDisappearは呼ばれ…

UIResponder

UIResponderというクラスがある。「レスポンダ」という名前に最初違和感があったのだが、ドキュメントを読むことで納得した。 ビューオブジェクトはレスポンダオブジェクト(UIResponderクラスのインスタンス)であり、タッチイベントを受け取ることができま…

UITableView

AndroidにしろWindows Phone 7にしろ、配列やリストなどに格納された情報を一覧として表示するためのビューが用意されている。いずれもListBoxとかLitView等と"List"という名前が付いたビューだが、iOSはUITableViewクラスがそれに相当する。 このUITableVie…

UITableViewController

TableViewを使うのにどうしてわざわざこのコントローラクラスを使うのかと怪訝に思ったのだが、UITableViewController.hを見て納得した。 UITableViewController.h そもそも内部にUITableViewへの参照をプロパティで持つのだ。ということは、同クラスのデリ…

Viewの回転対応とTabBarViewController

スマートフォン特有の画面の回転への対応だが、iOSでのプログラミングは非常に簡単だ。iOSはデバイス毎に画面の大きさと解像度は固定と想定してよいので※、Androidのような「レイアウト」オブジェクトにより画面のリサイズが必要無いため、単純なビューの回…

Chameleon

ChameleonはMac OS X上でiPhone/iPadのアプリケーション開発で使用するUIKitを動かすためのフレームワーク。 Chameleon - UIKit for Mac developmentソースコードも以下のgitリポジトリから公開されており、誰でも読める。 BigZaphod/Chameleon - GitHubって…