Xcodeのエディタ内で日本語を使えない(打ち込むことができても、ビルド時に警告が出たり、編集後のファイルを他のアプリケーションで読み込むと文字化けしてしまう)場合には、適切な文字コード(例えばUTF-8)に変更すればよい。*1Xcodeで対象のファイルを…
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…
Problems with the new cocos2d version 0.99.1上記記事はcocos2d for iPhoneのVer. 0.99.1での話だが、今回はVer. 0.99.5でこれと同じ現象に遭遇した。CCMenuItemImageのインスタンス作成時に例外が発生したのだが、原因はわかってしまえばたいしたことはな…
配列(NSArrayオブジェクト)が要素に同一オブジェクトを複数含んでおり、その重複を取り除きたい場合には、配列内のオブジェクトをもとにしていったんNSSetオブジェクトを作成し、直後にそのNSSetオブジェクトの全要素を配列形式で取得すればよい。具体的に…
Core Animationを使用してアニメーションを実装する際に、アニメーション終了時に追加処理を実行させたいことがある。例えば、あるImageViewを回転させるアニメーションを行い回転終了時にその角度のまま静止させる、といったことをやりたい場合を考えてみよ…
UIViewのアニメーションの二重実行を防ぐためには、実行開始時にフラグを立てて実行終了後にフラグを落とせばよい。UIViewクラスのクラスメソッドsetAnimationDelegate:でdelegateを設定すると、アニメーションが終了したタイミングでdelegateのanimationDid…
同僚から受け取ったXcodeプロジェクトをビルドして実機で実行しようとすると「Code Sign error: [...] doesn't match any valid certificate / private key pair in the default keychain」というエラーでビルドに失敗することがある。既に何度か経験したの…
iPhone/iPadのユニバーサルアプリの制作中、Viewの背景色をInterface Builderで設定したにもかかわらず、ビルドと実行をしてみるとそのViewの背景色が設定とは違う色(真っ赤)になっていることがあった。原因を調べてみると、これはInterface Builder上で設…
iOS Appにおいて、TableView内の各セルにボタンを配置し、それらのボタンのうち1つがタップされたときにどのボタンがタップされたかを判別可能にしたい場合、どのような実装を行えばよいのか。簡単な実装例を1つ示す。 ボタンクラスのカスタマイズ UIButton…
iPad App内でModal Viewを表示し、そのModal View内でキーボードを表示したところ、そのModal View自体を消さない限りキーボードをコード上から非表示にできなくなった。この件についていろいろと調べてみたので、以下にまとめることにする。特に断りがない…
cocos2d for iPhoneを利用したiPhone AppでRetinaディスプレイ対応するための方法をメモしておく。対象バージョンについての記載が特にない限り、現時点で公開されている最新バージョンのVer. 0.99.5における方法とする。また、Retinaディスプレイと区別する…
SICPを読んでいる 勤務先で「Structure and Interpretation of Computer Programs (SICP)」(邦題は「計算機プログラムの構造と解釈」)の勉強会をしようという話になった。まだ実際に勉強会を開催するまでには至っていないが、個人的に少しずつ読み進めてい…
iPhone Appからtweetを送ったりキーワードでtweetを検索したりする機能を実装することになった。この機能を実装するためにTwitterアプリケーションを登録しxAuth利用申請を行った。手続きの大まかな内容をメモしておく。 Twitterアプリケーションの登録 iPho…
ソフトウェア開発者として成長するための具体的方針を模索している 普段はソフトウェア開発に没頭してしまいがちだが、少し時間に余裕ができると開発者の心得のようなものが書かれた本を手にとって読んでいる。そのような本を読むと一歩退いた場所から普段の…
追記(2011年3月10日) Xcode 3.2.6 and iOS SDK 4.3をインストールしたところ、下記現象は見られなかった。現在ではiOS SDKが自動削除されることはないのかもしれないが、今後のバージョンのSDKをインストールする際に再びこの問題が発生する可能性を考慮し…