私はipviewアプリケーションで2つのビューのマスタービューと詳細ビューを持つsplitviewcontrollerを実装しています。 ipadの向きを縦向きから横向きに変更するときは、マスタービューを非表示にし、詳細表示のフレームサイズをフルスクリーンで表示するように変更する必要があります。このため私はこのコードを使用しています。splitviewcontrollerの詳細ビューのフレームサイズがios4.2で変更されない
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
//adjust master view
UIViewController *master = [self.splitViewController.viewControllers objectAtIndex:0];
UIViewController *detail = [self.splitViewController.viewControllers objectAtIndex:1];
CGRect t = master.view.frame;
t.size.width = 0;
t.size.height = 0;
t.origin.x = 0;
t.origin.y = 0;
[master.view setHidden:YES];
[master.view setFrame:t];
//adjust detail view
CGRect f = detail.view.frame;
f.size.width = 1004;
f.size.height = 768;
f.origin.x = 0;
f.origin.y = 0;
[detail.view setFrame:f];
}
このコードはios3.2では正常に動作しますが、ios4.2では動作しません。マスタービューはios4.2では非表示になりますが、ディテールビューのフレームサイズは変更されません。
私を助けてください。 ありがとう Shruti
これは私の問題を解決するためにしたものの単なる代替手段でした。それは正確に質問された質問への答えではありません。 – Aisha