3

我只是想知道是否可以显示一个没有动画的细节视图控制器(从右侧滑入窗口)。我期待有一些动画布尔参数,但它似乎没有。splitViewController showDetailViewController没有动画?

这是我的全部:

[self.splitViewController showDetailViewController:detailViewController sender:self]; 

我在这里失去了一些东西?或者是没有办法做到这一点?

回答

0

两种选择:您可以使用委托加载视图控制器。您需要实施splitViewController:showDetailViewController:sender:方法。另外,(虽然文档似乎阻止这一点),你可以只分配新detailViewController到splitViewController的viewControllers直接财产:

NSArray *vcArray = @[self.splitViewController.viewControllers[0],detailViewController]; 
self.splitViewController.viewControllers = vcArray; 

从技术上讲,你应该检查,以确保现有viewControllers阵列第一有两个元素。

1

这可以通过使用类方法performWithoutAnimationUIView来完成,例如:

[UIView performWithoutAnimation:^{ 
    [self showDetailViewController:_detailedViewController sender:self]; 
}]; 
+0

这是行不通的。 – 2015-12-03 05:48:13

+0

在'UISplitViewController',一个'UIWindow'根视图控制器上调用了' - [showDetailViewController:sender:]'。 (截至iOS 10.3) – Gary 2017-05-21 09:16:46

+0

为我工作:) – 2017-11-14 07:44:16