tabbarcontroller 的纵向模式方向问题?

发布于 2024-09-08 11:27:10 字数 116 浏览 5 评论 0原文

使用 tabbarcontroller,shouldAutorotateToInterfaceOrientation:方法不会调用纵向模式,而对于其他三个方向,它的调用完美。有人对此有任何想法吗?

谢谢

Using tabbarcontroller, shouldAutorotateToInterfaceOrientation: method not calling for portrait mode while for other three orientation its calling perfectly. Did any have any idea about this ?

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

把时间冻结 2024-09-15 11:27:10

即使我遇到了这个问题,如果您只想知道设备的方向是否改变,请使用通知而不是 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;
 }

Even i faced the problem , If you just want to know whether the orientation of the device changed or not use notification instead of shouldAutorotateToInterfaceOrientation.

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:nil];
-(void)orientationChanged:(NSNotification *)dict
{
    UIInterfaceOrientation interfaceOrientation = (UIInterfaceOrientation)[UIDevice currentDevice].orientation;
    //Your code
}

For Original problem, By default shouldAutorotateToInterfaceOrientation return YES for UIDeviceOrientationPortrait, If you returned NO in shouldAutorotateToInterfaceOrientation method, device will think that its in UIDeviceOrientationPortrait mode only hence the method shouldAutorotateToInterfaceOrientation is not called for UIDeviceOrientationPortrait.

    (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
       //your code
        return NO;
 }
忆梦 2024-09-15 11:27:10

您尝试过设备和模拟器吗?
您是否在 app_name-Info.plist 中检查了支持的方向?

Did you try with Device and Simulator?
Did you check supported orientation in your app_name-Info.plist?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文