菜鸟教程小白 发表于 2022-12-13 02:11:05

ios - UITabBarController 中的 UINavigationController 在 iOS 6 中不会旋转


                                            <p><p>我在 UITabBarController 中有一个 UINavigationController。我尝试了社区关于 iOS 6 中自动旋转的所有建议,但没有成功,最后我决定为 UINavigationController 创建一个类别,该类别没有对 orientaion 进行任何更改(尽管确实调用了函数)</p>

<p> <img src="/image/rAhPP.png" alt="enter image description here"/> </p>

<p>然后我为 UITabBarController 创建了一个类别,如下所示:</p>

<pre><code>#import &#34;UITabBarController+ios6Rotate.h&#34;

@implementation UITabBarController (ios6Rotate)

-(BOOL)shouldAutorotate
{
    return YES;
}

-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationPortraitUpsideDown;;
}

@end
</code></pre>

<p>得到了这个:</p>

<pre><code>Terminating app due to uncaught exception &#39;UIApplicationInvalidInterfaceOrientation&#39;, reason: &#39;preferredInterfaceOrientationForPresentation must return a supported interface orientation!
</code></pre>

<p>但是我所有的方向都支持?!嗯</p>

<p>然后我把代码改成这样:</p>

<pre><code>-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortraitUpsideDown;
}
</code></pre>

<p>这使我的应用程序颠倒了,但仍然不会旋转。我不明白发生了什么事。在这一点上,我想在 ios6 中看到任何形式的轮换,我不在乎哪一边,但似乎没有任何效果。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您应该确保添加正确的<code>supportedInterfaceOrientations</code>。您可以尝试在您的类别中调用相应的 <code>viewController</code> 的方向方法。</p>

<p>例如在 <code>UINavigationController</code> 类别中会是这样的</p>

<pre><code>-(BOOL)shouldAutorotate
{
return   ;   
}

-(NSUInteger)supportedInterfaceOrientations
{
   return ;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
   return ;
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - UITabBarController 中的 UINavigationController 在 iOS 6 中不会旋转,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/15876005/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/15876005/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - UITabBarController 中的 UINavigationController 在 iOS 6 中不会旋转