私はInterfaceBuilderのUIViewControllerにカスタムUIView videoView
を持っています。向きを変えるときの位置UIview
ロードするときれいに見えますが、「肖像画から風景に」と言えば、座標が示す場所には移動しません。そしてそれを元に戻すと再び間違っています。あなたは回転が起こる前に呼び出されwillRotateToInterfaceOrientation:
を、使用している
-(void)viewWillAppear:(BOOL)animated
{
[self processRotation:self.interfaceOrientation];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
-(void)processRotation:(UIInterfaceOrientation)_interfaceOrientation
{
if (_interfaceOrientation == UIInterfaceOrientationLandscapeLeft || _interfaceOrientation == UIInterfaceOrientationLandscapeRight)
{
videoView.frame = CGRectMake(20.0f, 77.0f, 984.0f, 595.0f);
}
else if (_interfaceOrientation == UIInterfaceOrientationPortrait || _interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
{
videoView.frame = CGRectMake(20.0f, 297.0f, 728.0f, 453.0f);
}
}
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
[self processRotation:toInterfaceOrientation];
}
こんにちは、私はあなたの質問に役立つ私の最近の投稿をお勧めしますか:http://stackoverflow.com/questions/6580052/how-to-change-view-of-the-viewcontroller-when- 6580111#6580111 – Luke