iOS6 方向
<p><p>我有一个关于 iOS 6 Orientation 的问题。这是我的文件
<a href="https://www.dropbox.com/s/f8q9tghdutge2nu/Orientations_iOS6.zip" rel="noreferrer noopener nofollow">https://www.dropbox.com/s/f8q9tghdutge2nu/Orientations_iOS6.zip</a> </p>
<p>在这个示例代码中,我想让 <code>MasterViewController</code> 只有一个 Portrait Orientation 而 <code>DetailViewController</code> 有一个 Portrait Orientation,Landscape Orientation。</p>
<p>我知道 iOS 6 的方向是由最上面的 Controller 控制的。</p>
<p>所以我自定义了一个<code>UINavigationController(CustomNavigationController)</code>,在该类中设置supportedInterfaceOrientations 和shouldAutorotate。</p>
<pre><code>-(NSUInteger)supportedInterfaceOrientations{
if([ isKindOfClass:]){
return UIInterfaceOrientationMaskAllButUpsideDown;
}else{
return UIInterfaceOrientationMaskPortrait;
}
}
-(BOOL)shouldAutorotate
{
return YES;
}
</code></pre>
<p>除了<code>DetailViewController</code>在Landscape Orientation按下返回按钮时,一切都很好,<code>MasterViewController</code>将显示Landscape Orientation。</p>
<p>我可以让 <code>MasterViewController</code> 总是显示 Portrait Orientation 并且 <code>DetailViewController</code> 可以有多个方向吗?</p>
<p>谢谢!</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>谢谢!布伦南,<br/>
我还在我的博客中收集了其他方法。<br/>
<a href="http://blog.hanpo.tw/2012/09/ios-60-orientation.html" rel="noreferrer noopener nofollow">http://blog.hanpo.tw/2012/09/ios-60-orientation.html</a> </p>
<p>这是另外两种方式。</p>
<p><strong>1.向 UINavigationController 添加类别</strong></p>
<pre><code> @implementation UINavigationController (Rotation_IOS6)
-(BOOL)shouldAutorotate
{
return [ shouldAutorotate];
}
-(NSUInteger)supportedInterfaceOrientations
{
return [ supportedInterfaceOrientations];
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return [ preferredInterfaceOrientationForPresentation];
}
@end
</code></pre>
<p><strong>2.Swap方法实现(由spoletto制作)</strong> </p>
<p> <a href="https://gist.github.com/3725118" rel="noreferrer noopener nofollow">https://gist.github.com/3725118</a> </p></p>
<p style="font-size: 20px;">关于iOS6 方向,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/12546057/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/12546057/
</a>
</p>
页:
[1]