旋转竖屏横屏与2个XIB

3
我有两个GUI和两个控制器,一个叫做landscapeguicontroller,另一个叫做highguicontroller。
通常情况下,我调用highguicontroller,当我旋转我的iPhone时,它会检测到并显示landscapeguicontroller: 代码:
    landscapeguicontroller *neu =[[landscapeguicontroller alloc] initWithNibName:nil bundle:nil];
    [self presentModalViewController:neu animated:YES];     
    [self dismissModalViewControllerAnimated:YES];

问题在于动画会将新窗口从iPhone的外侧推入到窗口中。在Landscapeguicontroller中,我已添加以下几行代码:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

当我想回到高级UI控制器时,我调用:

[self dismissModalViewControllerAnimated:YES];

所有的都可以工作,但只有在第二个动画中我才能看到正确的“旋转动画”。 你有什么建议吗?

问题简述: 在从高度到横向的第一次动画中,横向被推入窗口, 但是在从横向到高度的第二个动画中,旋转看起来像真正的旋转...

我希望第一个动画看起来像第二个动画。

最好的问候 Ploetzeneder

2个回答

3
为了避免“问题是动画将新窗口从iphone的边缘推到窗口外面”,可以将视图控制器的modalTransitionStyle属性设置为以下之一,任何您喜欢的方式: typedef enum { UIModalTransitionStyleCoverVertical = 0, UIModalTransitionStyleFlipHorizontal, UIModalTransitionStyleCrossDissolve, } UIModalTransitionStyle;
此外,如果您想避免动画旋转,您可以将shouldRotate...方法设置为不允许其他方向,但在设备物理更改方向时设置接收通知,并在适当的方向上呈现模态视图控制器。请参见苹果公司的“AlternateViews”示例代码以获取示例。
通知反映了设备的物理方向,并且无论界面是否允许更改都可以接收它们。(您可以查看UIApplications的statusBarOrientation属性,以查看UI处于什么方向)。

1

看起来你想让序列按照下面的步骤进行:

  1. 将设备从纵向旋转到横向
  2. 将纵向视图(highguicontroller)动画转换为横向视图
  3. 从屏幕新的“底部”推出横向视图(landscapeguicontroller)

如果是这样,你需要在你的highguicontroller实现中添加以下内容:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
  return interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown;
}

这将处理步骤2(它将在任何方向上将纵向视图旋转为横向)。

然后你会想要像这样的东西:

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
  if(fromInterfaceOrientation == UIInterfaceOrientationPortrait) {
    [self presentModalViewController:landscapeguicontroller animated:YES];
  }
  else {
    [self dismissModalViewControllerAnimated:YES];
  }
}

那应该在旋转动画完成后呈现横屏视图,然后在设备恢复为竖屏后将其关闭。
希望能对你有所帮助!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接