即使您尝试在横向上启动您的应用程序,您的手机将以纵向启动它,然后根据手机在哪个位置进入横向。
我不知道你用什么代码来完成这个。以下是从Apple代码片段中获取的一个代码片段。看看这是否有帮助。
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)
interfaceOrientation duration:(NSTimeInterval)duration {
if (interfaceOrientation == UIInterfaceOrientationPortrait)
{
self.view = self.portrait;
self.view.transform = CGAffineTransformIdentity;
self.view.transform = CGAffineTransformMakeRotation(degreesToRadian(0));
self.view.bounds = CGRectMake(0.0, 0.0, 300.0, 480.0);
}
else if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft)
{
self.view = self.landscape;
self.view.transform = CGAffineTransformIdentity;
self.view.transform = CGAffineTransformMakeRotation(degreesToRadian(-90));
self.view.bounds = CGRectMake(0.0, 0.0, 460.0, 320.0);
}
else if (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
{
self.view = self.portrait;
self.view.transform = CGAffineTransformIdentity;
self.view.transform = CGAffineTransformMakeRotation(degreesToRadian(180));
self.view.bounds = CGRectMake(0.0, 0.0, 300.0, 480.0);
}
else if (interfaceOrientation == UIInterfaceOrientationLandscapeRight)
{
self.view = self.landscape;
self.view.transform = CGAffineTransformIdentity;
self.view.transform =
CGAffineTransformMakeRotation(degreesToRadian(90));
self.view.bounds = CGRectMake(0.0, 0.0, 460.0, 320.0);
}
}
来源
2010-04-01 11:04:30
Leo
没有具体的想法什么是错的,但我想我会问在UI中发生了什么奇怪的事情时我总是问自己:“你在UIKit之外的主线程中调用了什么?” – lawrence 2010-02-03 08:35:01
感谢您的评论。不,我确定我没有这样做!这一切都非常令人费解。 – 2010-03-30 08:18:47
此行为仅在您的应用中发生,还是您在其他应用中看到它行为异常? – Jasarien 2010-03-30 14:08:08