我的应用仅适用于横向。 因此,我在LandScape Home Right设置了初始方向和支持方向。
但是,初始启动方向始终变为纵向。 导航到下一页并返回后,方向是正确的。
这可能与以下类似问题In IOS 6 on iPad, initial rotation is always portrait, after that it always rotates correctly
但是那里的解决方案没有工作,因为'handleRotationFor'会发出警告: 找不到instanceMethod -handleRotationFor(返回类型默认为'id')
我该如何解决此错误?
请帮忙
答案 0 :(得分:1)
在文件窗格的Xcode中,单击您的项目,然后从右侧窗格中选择目标。然后在摘要选项卡中查看支持的方向。仅选择横向右侧。你也可以实现
-(NSUInteger)supportedInterfaceOrientation {
return UIInterfaceOrientationMaskLandscapeRight;
}
在你的app delegate
中答案 1 :(得分:1)
项目目标 - >单击“摘要”选项卡,然后在“支持的接口方向”
中选择方向答案 2 :(得分:0)
在摘要选项卡下的Xcode中,确保没有按下纵向和上下颠倒。另外添加这三个功能。
// *********************
// ios6 orientation support
// *********************
- (BOOL)shouldAutorotate
{
UIInterfaceOrientation interfaceOrientation = [[UIDevice currentDevice] orientation];
if (interfaceOrientation == UIInterfaceOrientationPortrait)
{
return NO;
}
else if (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
{
return NO;
}
else
{
return YES;
}
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscape;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
{
return NO;
}
else
{
return YES;
}
}
答案 3 :(得分:0)
检查应用的info.plist中支持的方向。检查并设置nib文件中的方向。
您可以使用[[UIDevice currentDevice] orientation]