ビューを縦方向と横方向とで大きく異なる必要があるため、回転のビューを変更しようとしています。今では私が使っているコードは一回しか動かず、回転しないとフリーズします。どちらの方向でも違いはありません。たとえば、私が風景にあり、肖像画に回転していると、すべて風景に戻って凍ってしまい、全く何もしなくなるまで、すべてがうまくいきます。iPadでUIInterfaceOrientation中にUIViewを変更する
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return YES;
}
- (void)didRotate:(NSNotification *)notification
{
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
if ((orientation == UIDeviceOrientationLandscapeLeft) ||
(orientation == UIDeviceOrientationLandscapeLeft))
{
// present the other viewController, it's only viewable in landscape
[self.view addSubview:landScapeView];
}
if ((orientation == UIDeviceOrientationLandscapeRight) ||
(orientation == UIDeviceOrientationLandscapeRight))
{
// present the other viewController, it's only viewable in landscape
[self.view addSubview:landScapeView];
}
else if ((orientation == UIDeviceOrientationPortrait ||
(orientation == UIDeviceOrientationPortrait))
{
// get rid of the landscape controller
[self.view addSubview:portrait];
}
else if ((orientation == UIDeviceOrientationPortraitUpsideDown ||
(orientation == UIDeviceOrientationPortraitUpsideDown))
{
// get rid of the landscape controller
[self.view addSubview:portrait];
}
}
次回質問をするときにコードを適切に書式設定する時間を取ってください。読みやすくするために、より良い回答が得られます。また、 'if/else'条件で同じ値に対して' orientation'変数を2回チェックしている理由を正確にはわかりません。このコードを単純化する必要があります。 –
申し訳ありませんが、通常、私は...遅くなっています。それを修正するためにありがとう! – FreeAppl3