ipad 回転に対応するには
ipad版製作したのですが、どうやらアプリは縦 横どちらの
方向でも動作しないといけないらしいので対応させました。
iphoneアプリでも同じですが
アプリで使っているViewControllerの
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
}
でYESを返すと本体を回転するとこのメソッドが呼び出され
YESを返すと画面も追随するようになる。
ただ、YESを返すだけだと 縦横の解像度が違うため
表示はしても画面に収まらなかったりする。
UIVewのプロパティで「autoresizingMask」を設定して
やる事で画面方向にあわせて画面がリサイズされるが
一部の画像などは変形してしまった。
結局、このメソッドでYESを返すと同時に、表示している
UIVIEWにメッセージを送り 画面レイアウトを縦 横で
変更して対応することになった。
今回は 画面遷移が少なかったのでなんとかなったが
(5画面程度)画面が多くなると面倒になりそうです。
通信費について
YAHOO!BB 8Mにプランも変えず加入しつづけている。
YAHOOでも新規加入だとかなり安いプランがあるのだが、既存の
加入者にはあまり特典がなかった。
他のプロバイダに乗り換えると安いプランがいろいろ選べたのだ
がBBPHONEの番号とかメルアドとか仕事でも使っていて変えられない
ためプランもかえず放置してきたのだ。
ところがやっと「YAHOO!BB バリュープラン」というものが
できて安いプランが既存の加入者にも適応されるようになったのでさっそく
申し込むことにした。8Mプランで3000円ちょっとなのが
12Mタイプで1889円と1000円以上安くなるらしい。
ipad対応について
同一バイナリーでipad iphoneのアプリを作成するやり方。
- ターゲットからプロジェクトをipad用にアップグレード
- MainWindow-iPad.xib ??ViewController-iPad.xib作成
- MainWindow-iPad.xibに上記??ViewController-iPad.xib指定
- info.plistで Main nib file base name(iPad)にMainWindow-iPad.xib指定
- info.plistでCFbundleIconFileキーをARRAY属性で追加し
item0 にiphone用 item1にipad用のアイコンを指定
これでシュミレーター上では動くようになる。
続きを読むUIAlertViewの反転(iphoneSDK)
現在製作中のアプリは人対人で対面で交互に操作させるモードが
あり UIAlertViewを180度回転表示させたくなったのだが
UIAlertView *alert = [[UIAlertView alloc];
alert.transform = CGAffineTransformMakeRotation(M_PI*180/180.0f);
のようにしても効果がなかった。
調べてみるとdidPresentAlertViewをdelegateして
alertが表示完了後にtranformを変更すると回転した。
- (void)didPresentAlertView:(UIAlertView *)alertView
{
alertView.transform = CGAffineTransformMakeRotation(M_PI*180/180.0f);
}
ランドスケープ(画面を横にする)のに対応するだけであれば
下記のようなやり方もあるみたい
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight];