ios - UISplitview 方向在 iOS 5 和 iOS 5.1 中没有改变
<p><p>我在我的应用程序中使用了 Split View。<br/>
当我在 iOS 6 模拟器中运行我的应用程序时,它会随着方向的变化而旋转并且运行良好,但是当我在 iOS 5 或 iOS 5.1 模拟器中运行相同的应用程序并且我改变模拟器的方向但 Split View不会随着方向的变化而变化。<br/>
我也加了代码</p>
<pre><code>- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown || interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
-(BOOL)shouldAutorotate
{
return YES;
}
</code></pre>
<p>我使用以下代码添加 Split View
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
返回是;
} </p>
<p>主视图和详细 View 中的上述方法。 </p>
<p>我使用以下代码添加了 Split View</p>
<pre><code>if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
// obj_PageControlViewController = [initWithNibName:@"PageControlViewController-iPad" bundle:nil];
MasterViewController *masterViewController = [ initWithNibName:@"MasterViewController_iPad" bundle:nil];
UINavigationController *masterNavigationController = [ initWithRootViewController:masterViewController];
DetailViewController *detailViewController = [ initWithNibName:@"DetailViewController_iPad" bundle:nil];
UINavigationController *detailNavigationController = [ initWithRootViewController:detailViewController];
masterViewController.detailViewController = detailViewController;
self.splitViewController = [ init];
self.splitViewController.delegate = detailViewController;
self.splitViewController.viewControllers = @;
TabBarAppDelegate *appDelegate = (TabBarAppDelegate *)[ delegate];
;
}
</code></pre>
<p>但它不起作用。任何人都可以帮助我吗? </p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>你说你添加了 <code>shouldAutorotateToInterfaceOrientation:</code> 但你没有说 <em>在哪里</em> 你添加了它。要在 iOS 5.1 或更早版本中自动旋转 UISplitViewController,您必须在 Split View Controller 的 <em>两个</em>subviewController 的 ViewController 中提供 <code>shouldAutorotateToInterfaceOrientation:</code>(主视图 Controller 和详细 ViewController )。</p>
<p>假设 Split View Controller 是您的应用程序的顶级(根) ViewController ,这将起作用,由 Master-Detail 模板设置。</p>
<p>哦,省点麻烦:在 <code>shouldAutorotateToInterfaceOrientation:</code> 中,只返回 YES。在 iPad 上,您总是希望自动旋转。</p></p>
<p style="font-size: 20px;">关于ios - UISplitview 方向在 iOS 5 和 iOS 5.1 中没有改变,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/13506469/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/13506469/
</a>
</p>
页:
[1]