iOS4.3を使用しています。
UIToolbar だけを持つビューと、残りのビューをカバーするサブビューを備えた UIViewController があります。メインの UIView には、任意の形状に適合させるためのスプリングとストラットがあり、サブビューも同様です。xib はデフォルトで縦向きです。
この UIViewController を UISplitViewController の右側に配置します。このView Controllerを表示する前は私のiPadは横向きで、ずっと横向きのままです...明確にするために、私は向きを変えていません。
xib は 768w と 1004h なので、私のサブビューは 768w と 960h です。
-viewDidLoad
私のサブビューは768x960です。
-viewWillAppear
私のサブビューは768x960です。
-viewDidAppear
私のサブビューは768x960です。
しかし、実際に iPad で見ると、UISplitViewController の右側は 704px の幅 (あるべき姿) で、ビューとサブビューの幅は 704px しかありません。
ただし、コードまたはView Controllerのライフサイクルのどの時点でも、クエリself.view
またはサブビューを実行して、幅が704pxであることがわかりませんでした。
私のサブビューは UIScrollView であり、私の REAL サイズに基づいて scrollView.contentSize を変更したいので、ビュー全体のサイズに基づいていくつかの変更を加える必要がありますself.view
。
ビューの実際のサイズを取得できる View Controller ライフサイクルのどこかが必要です。と を試しましframe
たbounds
が、どちらも常に 768x906 を表示します。
NSLog(@"scroll view frame=%@ bounds=%@", NSStringFromCGRect(self.scrollView.frame), NSStringFromCGRect(self.scrollView.bounds));
NSLog(@"view frame=%@ bounds=%@", NSStringFromCGRect(self.view.frame), NSStringFromCGRect(self.view.bounds));
UIViewController *detailVC = [self.splitViewController.viewControllers objectAtIndex:1];
NSLog(@"splitview frame=%@ bounds=%@", NSStringFromCGRect(detailVC.view.frame), NSStringFromCGRect(detailVC.view.bounds));