2009-01-01から1年間の記事一覧

UIViewのアニメーションを滑らかに動かす

UIViewのsetAnimationCurve:(UIViewAnimationCurve)で指定できるイージングはたったの四種類で表現力に乏しい。そこでもっと自由にUIViewを動かしたい場合、CAMediaTimingFunctionを指定してLayerを動かすとうまくいく。 UIView *moveView; CALayer *moveLay…

TextFieldがキーボードに隠されないようにする

TextFieldを全画面のUIScrollViewのscroll上に配置しておく。TextFieldDelegateに次のように書くとテキストフィールドが隠れない。 - (void)textFieldDidBeginEditing:(UITextField *)tf { NSInteger marginFromKeyboard = 10,keyboardHeight = 165;//interf…

iPhoneアプリ内からアプリを終了させる

非公開メソッドだが、exit()を使うより終了時の様々な事をやってくれる。applicationWillTerminateに設定類を保存する処理を書いていて、アプリ内からアプリを終了させたい時とかには使えそう。 [[UIApplication sharedApplication] terminateWithSuccess];

IBを使わずにリターンキー押下時にキーボードを隠す

簡易的にIBを使わずにリターンキー押下時にキーボードを隠すには、対象のUITextFieldにdelegateを設定してやり、UITextFieldDelegateのtextFieldShouldReturn:をこんな風に実装してやるといい。 - (void)textFieldShouldReturn:(UITextField *)tf { if( [tf …

iPhoneでflickrAPIを扱う方法

1.CのAPIライブラリを使う Objcetive-CはC言語を内包しているのでflickrcurlライブラリ(http://librdf.org/flickcurl/ )で間に合うかもしれない。 利点 おそらく楽 flickcurlオブジェクトを作ってflickrcurl_set_api_keyしてほげほげするだけでいいみたい。…

MobileMe + SubversionでXCodeプロジェクトのバックアップとリビジョン管理

iPhone開発者ならほとんどがアドレス帳同期などのために使っているだろうmobileme。せっかくiDiskという10GBのストレージがついてくるのだから利用しない手はない。まずは"システム環境設定" - "MobileMe" - "iDisk"タブからiDiskSyncを開始する。 次にター…

UITableViewを作る

TableはiPhoneらしいリストを作れるため重宝するが、サンプルの数やメソッドの数を見るとくじけたくなる位複雑だ。 テーブルに慣れるため、最低限のテーブルを作る方法をまとめた。 まずUITableViewを生成する際、styleはUITableViewStylePlainとでもおいて…

UIViewControllerのloadView

Implement loadView to create a view hierarchy programmatically, without using a nib. とある通りIB使って細かい配置だけしておいてビューの階層はコード内に書くこともできる。だが、その際親クラスのloadViewを呼んでおかないとシミュレータではコンパ…

iPhoneSimulatorのみや実機のみでコンパイルする

iPhoneSimulatorだけや、実機だけで実行するコードを書く #import <TargetConditionals.h> #if TARGET_OS_IPHONE 実機のみ *ではない* #endif #if TARGET_IPHONE_SIMULATOR シミュレーターのみ #endif #if !TARGET_IPHONE_SIMULATOR 実機のみ #endif iPhoneSimulatorもiPhoneOSのう</targetconditionals.h>…

TwentyFiveを少し宣伝

自分も多少関わったiPhoneアプリが結構前に公開された。ちょっと手空きの時に英語の感覚を鍛えるためにどうぞ。 http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=297326138 (iTunesリンク) http://twentyfivegame.com/ja/ このTwentyFiv…