如何在方向更改时显示新的ViewController?

时间:2014-07-03 04:07:55

标签: ios objective-c

我尝试重新创建类似于iOS音乐应用的效果,因为当手机从垂直翻转到水平时,我希望在我的应用中显示一个全新的视图(音乐应用显示专辑封面)。我似乎无法让它发挥作用。到目前为止,我已尝试过以下各种变体:

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    TMFHorizontalFavoritesViewController *horizontalVC = [[TMFHorizontalFavoritesViewController alloc] init];

    UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation;
    if (UIDeviceOrientationIsLandscape(deviceOrientation)) {
    [self presentViewController:horizontalVC animated:YES completion:nil];
    }
}

但充其量我似乎只是一个黑屏。我已经尝试使用谷歌搜索和搜索Stackoverflow上的类似问题,但我似乎无法拼凑正确的答案。如果有人有任何意见,我将不胜感激!

1 个答案:

答案 0 :(得分:2)

如果有一条建议我可以给新的iOS程序员,那么它永远不会实例化一个带有alloc init的视图控制器(有时候它是合法的,但新手几乎总是弄错了。)

这是使用故事板定义的控制器

的方法
TMFHorizontalFavoritesViewController *horizontalVC = [self.storyboard instantiateViewControllerWithIdentifier:@"MyIdentifier"];