Cocoa
NSNullはnilとして振舞うべきじゃないかなー。unrecognized selectorで例外なげるんじゃなくて。2011-04-11 21:07:10 via Echofon @k_katsumi 私もそう思います。サブクラス化するなりカテゴリで上書きするなりして nil として振る舞えるようにできないです…
MKMapView 3DTransformするとおかしくなるな。残念。鳥瞰図みたいなの表示したかったんだけど。2011-04-04 17:36:16 via Twitter for Mac @junpeiwada ちょいと調べてみました。transformはsuperviewに当てて、その後mapViewにCATransform3DInvertで打ち消す…
Grouped スタイルのテーブルビューを使用した iPhone アプリケーションの中に、下の画像のように先頭セクションの区切り線が2重に表示されているものをチラホラ見かけます。 実用上の問題は無いのですが、ちょっと不恰好なので気になりますよね。 この現象…
南東京iPhone開発者勉強会 #5 - Togetterまとめ UIDocumentInteractionController UIDocumentInteractionController で、特定の拡張子のファイルを開けるアプリがあるかどうかを調べる方法 - iOS プログラミングメモ - iPhoneアプリ開発グループ 昨日、南東…
UIScrollView 系のビューが2つ以上存在するとき、ステータスバーをタップして一気に先頭にスクロールする機能を有効にするには、先頭にスクロールする機能を有効にしたいスクロールビューのみ scrollsToTop プロパティを YES にし、それ以外のスクロールビ…
iPhone 4 の Retina Display の高解像度表示にアプリケーションを対応させるための方法をいくつか書きます。 これだけですべての場面に対応できるわけではないですが(例えば OpenGL での描画など)何かの役に立てばと思います。 高解像度の画像リソースを用…
下記のコードで確認。適当コードなのでマネしてはいけません。 - (void)onTimer:(id)timer { NSLog(@"Time remaining: %g", [[UIApplication sharedApplication] backgroundTimeRemaining]); } - (void)applicationDidEnterBackground:(UIApplication *)appl…
適当訳です。 詳しくは WWDC 2010 のセッション 105「Adopting Multitasking on iPhone OS, Part 1」を見ましょう。 Fast app switching 高速な復帰と状態の保存。 Push notifications リモートサーバから通知を送ることができる。(iPhone OS 3.0 から存在) …
ベース SDK と Deployment Target を設定する ベース SDK を iPhone デバイス 4.0 にします (iPad の場合は 3.2)。 iPhone OS Deployment Target をサポートする OS の最も低いバージョンにします。 (下の場合は iPhone 3.0 以降で動作する。) ベース SDK …
以前に「UILabelに影をつける - 24/7 twenty-four seven」という記事で紹介した CGContextSetShadow 関数の挙動が iPhone OS 3.2 (iPad と iOS 4.0) から変わっています。 具体的には影の付く方向が逆になりました。なので、以前の記事をコードをそのまま実…
iPhone および iPad で開発をしているとき、たまに画像や文字がぼやけてしまう現象にあったことはないでしょうか。 同じ画像を表示していても特定の場合だけぼやけるとかそういう場合は、だいたい座標の指定が小数になってしまっていることが原因です。 この…
「そのまま使える iPhone アプリプログラム」が発売されました。 サンプルコードも昨日からダウンロード可能になっています。 こちらのサンプルコードはすべて Xcode プロジェクトの形式になっており、タイトルどおり「そのまま使える」形で付属します。 そ…
標準 SDK で提供されているクラスがどういう構造になってるか参考にしたいとか、ちょっとしたカスタマイズをしたいとか、そういうときにビュー構造をダンプしたりすることはよくあると思います。下記のようなメソッドを書いてもいいのですが、実は UIView に…
UISegmentedControl は segmentedControlStyle プロパティに 値を直接指定すると、非公開のスタイルを使用することができます。試しに 3 を指定してみると次のようなスタイルになりました。 UISegmentedControl *segmentedControl = [[UISegmentedControl al…
「そのまま使える iPhone アプリプログラム」というプログラミング本を執筆しました。「国破れて山河あり」「ソングサマナー」などで有名な Seasons さんとの共著です。 この本ではOpenGL と UIKit について、ちょっと進んだ応用レベルの使い方を解説してい…
Delegating objects do not (and should not) retain their delegates. However, clients of delegating objects (applications, usually) are responsible for ensuring that their delegates are around to receive delegation messages. To do this, they…
UITableView の複数セルの選択は、実は Undocumented API として存在しています。 実装してもそれほど手間ではありませんし、審査に通るかどうかも不明なので、今のところ使いどころはないかもしれませんが、紹介します。 UITableViewDelegate に設定したク…
UIButton も buttonWithType: メソッドの引数に 100 以上の値を直接指定すると、非公開のボタンタイプを使用することができます。 100 〜 102: ナビゲーションバーのボタン (UINavigationButton) 100, 101, 102 を指定すると、ナビゲーションバーで使われて…
@iphone_dev_jp ツールバーとかタブバーによくある「現在地を表示」のボタン画像(あのライフルのスコープみたいなアイコンの)はシステム標準でないですよね。自分で作らないとダメなんですかね。 takoyaki0330 on Twitter: "@iphone_dev_jp ツールバーとか…
objectForKey: は NSDictionary のメソッドですが、 valueForKey: は KVC (Key Value-Coding) 由来のメソッドです。 If key does not start with “@”, invokes objectForKey:. If key does start with “@”, strips the “@” and invokes [super valueForKey:]…
Analyzing Fetch Behavior with SQLite With Mac OS X version 10.4.3 and later, you can use the user default com.apple.CoreData.SQLDebug to log to stderr the actual SQL sent to SQLite. (Note that user default names are case sensitive.) For ex…
Q: How can I write a method that takes a variable number of arguments, like NSString's +stringWithFormat:? A: Methods that take variable arguments are known as variadic methods.Keep in mind that the implementation of an Objective-C method …
iPhone アプリケーションのプログラミングでは、メモリ管理に注意する必要があります。 特に解放済みのオブジェクトをさらに解放してしまったり(二重解放)、解放済みのオブジェクトを操作しようとした場合は即座にアプリがクラッシュしてしまいます。 この…
kishikawakatsumi/FlipCardNavigationView · GitHub 西東京 iPhoneDev 勉強会にて、「PhotoFlipCardView」について、「画像の代わりに普通のビューを使うことはできないか」という指摘がありましたので、作ってみました。 このような画面が作れます。 やはり…
kishikawakatsumi/PhotoFlipCardView · GitHub サムネイル画像が、クルッと反転しながらフルサイズの画像に拡大するというエフェクトがおもしろいフォトギャラリーのサンプルを公開しました。 エフェクトはまんま「大辞林.app」からのインスパイヤです。 つ…
実は審査中の「カラー・ペアーズ」[YouTube]も思いがけないバグを提出後に発見した為、一度自分でリジェクトして提出し直しました。 そのバグとはプレイ中に表示していたmobclix広告から発生するものでした。 どういうバグかというと、このゲームは60秒か…
NSNotification の通知は、別スレッドから呼ぶと、そのスレッドで実行されるので、通知を受けて UI を更新するような場合、都合が悪いことがあります。 (UIKit は Thread Safe でないため) そういうときは、下記のようにメインスレッドから通知するといい…
Xcode はデフォルトで *.js の拡張子を持つファイルは、ソースファイルの扱いになります。 そのため、アプリケーションをビルドしたときに、リソースバンドルに含まれません。 この問題を解決するには、ターゲットを開いて、ビルドのルールを編集します。 上…
UIWebView を使用して、ローカルに存在する HTML ファイルを表示することができます。 そのとき、凝った表示を行う場合、外部 CSS や JavaScript を使用したい場合があると思います。 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml"> </html>
UINavigationController を使った場合に表示される戻るボタンには、前のビューのタイトルが自動的に表示されます。 戻るボタンの表示に画像を使用したり、任意の文字列に変更するには、遷移前のビューコントローラの navigationItem の backBarButtonItem に…