Cocoa
A similar control to the pull down to refresh control created by atebits in Tweetie 2. enormego/EGOTableViewPullRefresh · GitHub
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を返せば回転するようです。 例えば、上…
iPhone 3Gと3GSやiPod touchの世代を判別する方法 - 24/7 twenty-four seven以前にiPhoneやiPod touchのモデルを区別する方法として、sysctlbyname()関数を使う方法を紹介しましたが、モデル番号だけならuname()を使う方が簡単でした。 #import <sys/utsname.h> - (void)app</sys/utsname.h>…
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…
UIDevice の model プロパティでは iPhone や iPod touch など、おおざっぱな区別しかできません。 3G か 3GS かの違いを識別するにはライブラリ関数 sysctlbyname() を使います。 sysctlbyname(3) Mac OS X Manual Pagesysctl() はシステムの様々な情報を取…
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ファイルをソースコードに変換する場合…
日本語環境では、NSDateFormatterでフォーマットした日付がおかしい - 24/7 twenty-four seven前に日本語環境ではフォーマットした時刻の表記に「午前・午後」が含まれてしまって使いにくいと書いたのですが、コメントにて、フォーマットする前にロケール(NS…
How to Mask an Image [iOS developer:tips]; 白黒の画像をマスクとして、画像を任意の形に切り抜くことが出来ます。 上記の例はとても単純ですが、マスク画像を工夫すれば、複雑な形の画像もプログラムから簡単に作成できます。 //元画像 UIImage *iconImag…
LDR touchのエントリー画面のように、UIWebViewを、ブラウザとしてではなく、HTMLのビューアとして使ってるような場合は、このポップアップはあまり意味が無いので、出したくないときがあります。 これは以下のようなスタイルを指定すれば、抑制できます。 -…
UIApplicationを継承すると、アプリケーションで発生するいろいろなイベントが受け取れます。継承した独自のUIApplicationクラスを使用するには、Other Sourcesにある、main.mを以下のように書き換えます。 int main(int argc, char *argv[]) { NSAutoreleas…
UITextFieldの文字の入力位置を調整する方法です。UITextFieldを継承したクラスを作り、次のメソッドをオーバーライドします。 - (CGRect)textRectForBounds:(CGRect)bounds; - (CGRect)editingRectForBounds:(CGRect)bounds; textRectForBounds:が返す値は…
UIViewControllerと同じで、継承してshouldAutorotateToInterfaceOrientation:でYESを返します。 #import <UIKit/UIKit.h> @interface MyTabBarController : UITabBarController @end #import "MyTabBarController.h" @implementation MyTabBarController - (BOOL)shouldAut</uikit/uikit.h>…
http://kuon.goyman.com/2009/01/22/iphone-large-image-viewer/UIImageおよびUIImageViewは、1024x1024を超える大きさの画像を取り扱えません。このGYImageViewは、スクリーンに表示される部分だけ高解像度で表示するという方法で、巨大な画像でもメモリを…
Yahoo! JAPANをはじめ、Safariで見るとiPhone用のページが表示されるのに、UIWebViewに表示する場合はPC用のページが表示されてしまうサイトがあります。 このようなサイトは、たいていブラウザのUser-Agentによって、表示するページを切り替えています。 UI…
id:fladdictさんが、質問していたので回答しました。総額1万ポイントで質問です。 海外のiPhone開発系ブログのうち、… - 人力検索はてな Cocoa with Love Cocoa with Loveというサイトです。 英語ですが、スクリーンショットやソースコードが充実しているの…
3つめのコードがちょっと違います。 でもって本題ですが、Objective-CにはretainCountって物があって、それが0になると解放されるみたいです。(未だに良く理解してない) そしてretainCountはalloc, init, retainなどで増えて、releaseで減るみたいです。だ…
NSDateFormatterにタイムゾーンを指定して取り出します。 例えば以下のようにすると、どこの国で使用しても日本時間になります。 NSDate *now = [NSDate date]; NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease]; [formatter set…
テーブルビューを使う場合に審査で気をつけること - 24/7 twenty-four seven 上記の記事で書いたように、テーブルビューの見た目でリジェクトされないように、コントローラにUITableViewControllerを使わない場合は、行の選択解除などをやってくれないので、…
All UIKit objects should be used on the main thread only. http://developer.apple.com/DOCUMENTATION/Cocoa/Conceptual/CocoaFundamentals/AddingBehaviortoaCocoaProgram/chapter_4_section_6.html#//apple_ref/doc/uid/TP40002974-CH5-SW47 別のスレッ…
App Storeとかであるんだけど、UITableViewの最初の20件とかを 読み込んでおいて、もっと見たい場合は一番下のセルの 「ほかの??件を読み込む」 とか 「次の??件…」 ってのを押すとインジケーターがぐるぐる回って そこにセルがインサートされるみたいな…