Objective-C
日本語環境では、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…
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件とかを 読み込んでおいて、もっと見たい場合は一番下のセルの 「ほかの??件を読み込む」 とか 「次の??件…」 ってのを押すとインジケーターがぐるぐる回って そこにセルがインサートされるみたいな…
ネットを利用するiPhoneアプリケーションは、圏外の通知が必須に? - 24/7 twenty-four seven上記の記事で書いたように、現在、ネットを使用するアプリケーションは、ネットワークに接続できないときには、何らかの形でユーザーに知らせないといけないので、…
http://mtl.recruit.co.jp/blog/2009/01/iphoneiphonesdk.html つまり、デフォルトでは、autoreleaseされたインスタンスは、このプールにどんどん、追加されてゆく。ちょっとした文字列であっても NSString.stringWithFormatを乱発すると、メモリ不足になり…
C++などと同様に、Googleで使われているObjective-Cのコーディング規約があるんですね。Google Objective-C Style Guide Google Objective-Cスタイルガイド 日本語訳 | textdrop あわせて読みたい AppleのCocoaコーディングガイドライン
iPhoneの画面でシングルタップとダブルタップで全く別の動作をさせたいときや、ダブルタップにだけ反応して、シングルタップは無視したいようなときがあります。 しかし、単純にtapCountによって処理を分けようとすると、"[touch tapCount] == 2"の処理の前…
今まで作ったアプリケーションのソースコードをGitHubで公開しました。kishikawakatsumi (kishikawa katsumi) · GitHub はてな touch / Hatena touch - GitHub LDR touch - GitHub テレビ番組表 / TV Listings - GitHub
基本形 UICCalendarPicker *calendarPicker = [[UICCalendarPicker alloc] initWithSize:UICCalendarPickerSizeMedium]; [calendarPicker setDelegate:self]; [calendarPicker setSelectionMode:UICCalendarPickerSelectionModeMultiSelection]; [calendarPi…
UIDatePickerよりも簡単に日付を選択できるようにしたいと思って作りました。 予定を入力するような場面などで、活用できると思います。 GitHubのUICoderzのグループで公開しています。 アプリケーションに組み込んだり、自由に使ってください。 テレビ番組…
iPhone デバッグ用のマクロ - Windchase #ifdef DEBUG # define LOG(...) NSLog(__VA_ARGS__) # define LOG_CURRENT_METHOD NSLog(NSStringFromSelector(_cmd)) #else # define LOG(...) ; # define LOG_CURRENT_METHOD ; #endif iPhone デバッグ用のマクロ …
言葉だけでは分かりにくいので、テレビ番組表の画面で説明します。 一覧画面はタブバー + テーブルビュー (UITabBarController + UITableView) という構成になっています。 一番下の列をタップして、次の画面に移動します(Web画面)。 異動先の画面ではタブ…
書式文字列の仕様は以下の通りです。 h Hour [1-12] H Hour [0-23] K Hour [0-11] k Hour [1-24] UTS #35: Locale Data Markup Language それでこんなコードで実験してみると・・・ NSDate *now = [[NSDate date] retain]; NSDateFormatter *dateFormatter =…
UIApplicationクラスのidleTimerDisabledプロパティにYESをセットする。 - (void)applicationDidFinishLaunching:(UIApplication *)application { [[UIApplication sharedApplication] setIdleTimerDisabled:YES]; [window addSubview:landscapeClockViewCon…
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation]; if (UIDeviceOrientationIsLandscape(orientation)) { [landscapeClockView setCenter:CGPointMake(160.0, 240.0)]; if (orientation == UIDeviceOrientationLandscapeLeft) { […
RegexKit Framework上記のサイトからRegexKitLiteをダウンロードします。RegexKitLite-2.2.tar.bz2を展開すると、以下のようになります。 RegexKitLite.h RegexKitLite.m RegexKitLite.html examples RKLMatchEnumerator.h RKLMatchEnumerator.m NSString-He…
iDevGames Forums 使い方 GBMusicTrack *song = [[GBMusicTrack alloc] initWithPath:[[NSBundle mainBundle] pathForResource:@"BackgroundMusic" ofType:@"mp3"]]; [song setRepeat:YES]; [song play]; GBMusicTrack.h // // GBMusicTrack.h // GameBase /…
ios - How do I detect when someone shakes an iPhone? - Stack Overflow // Ensures the shake is strong enough on at least two axes before declaring it a shake. // "Strong enough" means "greater than a client-supplied threshold" in G's. stati…
Interface Builderを使ってカスタマイズしたUITableViewCellを作る方法(追記あり) - 24/7 twenty-four seven前に書いた手順は長くて、自分でも見逃しがあったので、よくある間違いをまとめておきます。 XIBファイルのUITableVIewCellを使用するときによく…
[追記]大事な手順を書き忘れていました。セルの再利用のための手順を最後に追記しています。 間違ってるかもしれないけど、たぶんこう。 View Templateを選択して、新しいXIBファイルを作成します。 もともとのViewを削除します。 代わりにUITableViewCellを…