使用tabbarcontroller,shouldAutorotateToInterfaceOrientation:方法不调用纵向模式,而其他三个方向调用完美。有没有任何想法?
谢谢
答案 0 :(得分:0)
您是否尝试使用设备和模拟器? 您是否在app_name-Info.plist中检查了支持的方向?
答案 1 :(得分:0)
即使我遇到了问题,如果您只是想知道设备的方向是否改变,请使用通知而不是shouldAutorotateToInterfaceOrientation。
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:nil];
-(void)orientationChanged:(NSNotification *)dict
{
UIInterfaceOrientation interfaceOrientation = (UIInterfaceOrientation)[UIDevice currentDevice].orientation;
//Your code
}
对于原始问题,默认情况下 shouldAutorotateToInterfaceOrientation 为 UIDeviceOrientationPortrait 返回YES,如果在 shouldAutorotateToInterfaceOrientation 方法中返回NO,则设备会认为它在 UIDeviceOrientationPortrait 模式因此不会为 UIDeviceOrientationPortrait 调用 shouldAutorotateToInterfaceOrientation 方法。
(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
//your code
return NO;
}