我有一个视图控制器设置,其中包含一个图形视图和分段控件。如何使视图旋转到水平?另外,是否可以加载另一个水平方向视图?
提前, 姆拉登纳莱
答案 0 :(得分:4)
您可以通过以下方式实施方向支持:
- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
// Just delete the lines for the orientations you don't want to support
if((toInterfaceOrientation == UIInterfaceOrientationPortrait) ||
(toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)) ||
(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft)) ||
(toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)) {
return YES;
}
return NO;
}
然后在旋转时加载新的ViewController:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
if((fromInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) ||
(fromInterfaceOrientation == UIInterfaceOrientationLandscapeRight))
{
// Load the view controller you want to display in portrait mode...
}
}
如果您想要进行平滑过渡,您甚至可以设置动画来操纵新视图的alpha属性,就像您在iPod应用程序转换为CoverFlow模式时看到的那样。
<强>声明强> 支持界面旋转的首选方法在3.0中发生变化。上面的方法仍然有效,但有一种方法可以让动画更流畅。但我们不应该在这里讨论这个问题。更多。周。
<强> ANOTHERvDISCLAIMER 强> 支持界面旋转的首选方法在6.0中再次改变。上面的方法仍然有效,但有一种方法可以让动画更流畅。
答案 1 :(得分:0)
对于设备旋转,您应该在viewController中实现此方法:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation