Objective-C
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 に…
A similar control to the pull down to refresh control created by atebits in Tweetie 2. enormego/EGOTableViewPullRefresh · GitHub
Developer Color Picker A custom color picker designed specifically for developers. Makes getting colors out of Photoshop/Acorn mock-ups quick and easy. Currently supports NSColor, UIColor, CGColorRef, CSS and HTML styles. Developer Color P…
iPhone SDK 3.x で libxml2 を使うプロジェクトを Deployment Target を iPhone OS 2.x に設定してビルドしたとき、OS 2.x の環境で実行すると、libxml2 のリンクに失敗します。 dyld: Library not loaded: /usr/lib/libxml2.2.dylib Referenced from: /var/…
UITabBarControllerを自動回転に対応させる - 24/7 twenty-four seven以前UITabBarControllerを継承する方法を書きましたが、各タブの全てのUIViewControllerがshouldAutorotateToInterfaceOrientation:メソッドでYESを返せば回転するようです。 例えば、上…
UILabelに影をつけるには通常、shadowColorプロパティとshadowOffsetプロパティを設定します。 暗めの背景色で、shadowColorを白、shadowOffsetを下に1ピクセルずらすと、立体感のあるラベルになります。 label.shadowColor = [UIColor whiteColor]; label.s…
NSTimerのカウントがUIScrollViewのドラッグ中に止まってしまうのが困る場合は次のようにします。 NSTimer *timer = [NSTimer timerWithTimeInterval:1.0f target:self selector:@selector(onUpdate:) userInfo:nil repeats:YES]; [[NSRunLoop currentRunLoo…
kishikawakatsumi/DescriptionBuilder · GitHubNSObject クラスの description メソッドをオーバーライドしておくと、NSLog で出力できたりしてデバッグ時に便利です。 ただ、出力する項目が増えてくると、結構な手間になるので、リフレクションを使って自動…
MapKitフレームワーク単体では、標準のマップアプリのようなナビは作れないのですが、Google Maps APIと組み合わせることで、似たような機能を実現してみました。 GitHubのリポジトリで公開しています。 kishikawakatsumi/MapKit-Route-Directions · GitHub …
[text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
ブラウザアプリのAppStoreレビューでちょくちょく言及されているので調べてみました。 Undocumented APIを使用するので、審査に通るかは微妙です。 そもそもBASIC認証くらいなら、 http://user:password@www.example.com/というURLでアクセスすれば認証でき…
とあるアプリで大量に画像を使うのでキャッシュしない画像のロードをいろいろ試していたのだけど。 imageNamed:は圧倒的にロードが速いし、何故か描画も速い。下記にあるように、UIImage#imageNamed:はクラッシュするまで画像をキャッシュし続けるみたいなの…
http://iphone.longearth.net/2009/05/10/os30%E3%81%AEshouldautorotateto-interfaceorientation%E3%81%8C%E3%81%8A%E3%81%8B%E3%81%97%E3%81%84%E4%BB%B6 iPhone OS 3.0 - Breaking changes to shouldAutorotateToInterfaceOrientation | blog.sallarp.com…
iphone - How to scale a UIImageView proportionally? - Stack Overflow @interface UIImage (Extras) - (UIImage *)imageByScalingProportionallyToSize:(CGSize)targetSize; @end; @implementation UIImage (Extras) - (UIImage *)imageByScalingProporti…
(参考) 無為空間 |タイルビューの挙動確認用サンプル CATiledLayerとUIScrollViewを組み合わせて、巨大な画像をスムーズにスクロールして表示するサンプルです。 表示する画像はこちらを使用しました。Garden | photo page - everystockphoto 画像の大きさは…
nib2objc akosma/nib2objc · GitHub以下のように、パラメータにXIBファイルを指定すると、標準出力にコードが出力されます。 $ nib2objc WebView.xib > WebView.mこのようなビューから下記のコードが出力されます。 XIBファイルをソースコードに変換する場合…