私は非常に単純なことをするのに多くの問題を抱えています。私はviewControllerとsubViewControllerを持っており、どちらもペン先からロードされたビューを持っています。明確にするために、親ビューのサイズは1024 x 748で、ペン先のサブビューのサイズは640x480です。
viewControllerのviewDidLoadに、次のようにsubViewControllerのビューを追加します。
[self.view addSubview:self.subViewController.view];
NSLog(@"subview.frame:%@",NSStringFromCGRect(self.subViewController.view.frame));
ログ出力:
subview.frame:{{0, 0}, {640, 480}}
次に、テストするために、setCenterを使用して、親ビュー内のサブビューを次のように同じ位置に再配置しようとします。
CGPoint newCenter = CGPointMake(0,0); //should stay at the same position..
[self.subViewController.view setCenter:newCenter];
NSLog(@"after changing center.subview.frame:%@",NSStringFromCGRect(self.subViewController.view.frame));
ログ出力:
after changing center. subview.frame:{{-320, -240}, {640, 480}}
今、私は何かがペン先にねじ込まれているかもしれないと感じており、それはスプリングとストラット/サイズと位置のオプションと関係があると推測しています。これは、IBに関して私が最も理解していない機能であるため、私はこれを推測することしかできません。
この問題を引き起こしている可能性があるものに関する他のアイデアはありますか?ビューコントローラのビューを他のビューコントローラのビューに合わせて自動的に配置されるように、ビューコントローラのビューをIBで設定する方法に関する一般的なヒントはありますか?そして、設定した後、setCenterはそれらを動的に移動する正しい方法ですか?