[iPhone] UITableViewCell の高さを表示する内容によって変える方法
1Twitter クライアントのようにテーブルのセルの高さを表示するテキストの内容によって変える方法です。
UITableViewCell に UILabel を入れて、numberOfLines をゼロにします。numberOfLines をゼロにすると行数の制限がなくなります。
次に tableView: heightForRowAtIndexPath: で表示する行によって必要な高さを計算します。NSString を表示するサイズを計算するには、sizeWithFont:constrainedToSize:lineBreakMode: を使用します。
(続きを読む…)
[iPhone] シェイク動作を簡単に取得する方法
2iPhone OS3.0 から本体をシェイク(振る)すると Undo できるようになりました。OS3.0 以前では加速度センサをチェックすることで、シェイク動作をチェックすることができましたが、OS3.0 からは UIRespoer の motionEnded:withEvent: でシェイク動作を取得することができます。
UIEvent に以下のプロパティがあります。
- @property(readonly) UIEventType type;
- @property(readonly) UIEventSubtype subtype;
- UIEventTypeMotion
- UIEventSubtypeMotionShake
[iPhone] モーダルビューの非表示、値の受け渡しはデリゲートで行う
4iPhone でのモーダルビューの表示、非表示、値の受け渡し方法です。モーダルビューとは、下からニョキッと出てくるタイプの一時的なビューです。何か情報を入力させたりするのに使用します。
大事な点は、
- モーダルビューの表示、非表示は両方共同じクラスでやること
- 値の受け渡しはデリゲートで行うこと
ということです。
(続きを読む…)
[iPhone] UIView の frame と bounds の違い
5UIView の位置やサイズを知るプロパティに frame と bounds があります。この frame とbounds の違いを簡単にまとめて見ました。
簡単にまとめると以下のようになります。
- frame はスーパービューから見た座標
- bounds はローカルのビューから見た座標
2010年3月に読んだ本
02010年3月に読んだ本は全部で24冊。年度末で仕事がバタバタしていたため、ライトな本や雑誌が多かったですね。
その中でオススメは大前研一氏の「「知の衰退」からいかに脱出するか?」です。読後感は日本の未来を少し憂慮し、自分はその流れに飲まれないようにしなくては考えさせられました。
(続きを読む…)
[CakePHP] さくらのレンタルサーバで CakePHP1.2.6 が動かない
1CakePHP 1.2.6 をさくらのレンタルサーバに設置したところ、Internal Server Error になってしまった。トップページは表示されるが、コントローラを指定すると Internal Server Error になってしまう。エラーログを見ると、
mod_rewrite: maximum number of internal redirects reached. Assuming configuration error. Use 'RewriteOptions MaxRedirects' to increase the limit if neccessary.
と出ている。ちなみにドキュメントルートは app/webroot にしていました。
(続きを読む…)
[iPhone] MapKit でリバースジオコーディング、緯度経度から住所を取得
1ジオコーディングは住所から緯度、経度を取得しますが、リバースジオコーディングはその名の通り、緯度経度から住所を取得します。MapKit だけでこのリバースジオコーディングが提供されています。
リバースジオコーディングを使用するには MKReverseGeocoder を使います。MKReverseGeocoderDelegate の設定を忘れずに。
(続きを読む…)
[iPhone] 地図にピンが落ちてくるアニメーション
1Map.app のようにピンが上から落ちてくるアニメーションを MapKit で実装する方法です。
ピンのアノテーション
MKPinAnnotationView の場合は簡単です。animatesDrop = YES を指定するだけです。
(続きを読む…)
[iPhone] MapKit で現在地を表示する
5MapKit で現在地を表示する方法です。
MapKit フレームワークと CoreLocation フレームワークが必要になるので、追加しておきます。mapView.showsUserLocation を YES にすることにより、現在地の青い印を表示することができます。また、CLLocationManager を使用して GPS より現在地を取得して地図の中心にしています。
(続きを読む…)