2010-12-29 9 views
0

私のiPadアプリケーションでは、UISplitViewControllerを使用しています。マスタービューにはテーブルビューが含まれ、詳細ビューにはUIViewControllerが保存されています。ボタンイベントの詳細ビューがマスタービューに表示され、コードが以下に記載されています。このコードはiPad 3.2では正常に動作しますが、ios 4.2では動作しません。Split View Controllerの詳細ビューでは、ios 4.2でサイズが変更されませんでしたか?

UIViewController *leftUIV = [appDelegate.splitViewController.viewControllers objectAtIndex:0]; 
UIViewController *rightUIV = [appDelegate.splitViewController.viewControllers objectAtIndex:1]; 
CGRect rectMaster = leftUIV.view.frame; 
CGRect rectDetail = rightUIV.view.frame; 
rectMaster.size.width = 0; 
rectDetail.size.width = 1024; 
rectDetail.origin.x = 0; 
[leftUIV.view setFrame:rectMaster]; 
[rightUIV.view setFrame:rectDetail]; 

どうすれば解決できますか?

答えて

3

が最後にサイト上で答えを得たのClick here

おかげ - アリス・ベヴァンとマクレガー

+0

ちょっと注意してください:このソリューションで説明されているように、それを提示した後でdetailScreenの回転に問題がある場合は、変換を正しく行うためのわずかな適応です:NavControllerをアプリケーションのrootViewControllerとして使用します。 navBarを非表示にすると、splitViewをnavControllerに追加できます。 detailViewをフルスクリーンで表示したい場合は、NavControllerのviewControllerをSplitViewからdetailViewに変更してください。 –

1

私はあなたがサポートされていない何かをしようとしていると思います。分割のサイズは変更できません。サイズは固定されています。

詳細ビューのみを一時的に横長モードで表示したい場合は、分割ビューをビュー階層から削除し、詳細ビューを追加して終了したら元に戻すことができます。

+0

にこれを追加しかし、実際には、iPadの3.2デバイスの上に正常に動作します。分割ビューを削除することは良い考えではありませんが、私は詳細ビューをモーダルに表示しようとしましたが、最終的には機能しませんでした。 – Mahesh

+0

スプリットビューを削除し、詳細ビューを少し違った方法で追加すると、フルスクリーンで詳細ビューを表示できます。 – Mahesh

0

はあなたDetailViewController.m

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { 
    [self.view sizeToFit]; 

    NSLog(@"ROTATE - self.view.frame = %@", NSStringFromCGRect(self.view.frame)); 
} 
関連する問題