iOS 8 中 UISplitViewController 主视图的动画 show/hide
Animating show/hide of master view in UISplitViewController in iOS 8
我仅在 iPad 中使用拆分视图,iOS 8 应用程序采用标准形式。 (当 iPad 是横向时,它显示主视图和详细视图;当纵向时,它显示详细视图全屏,主视图从左侧滑入。)主视图和详细视图都是导航视图控制器其中 master 包含一个 table 视图控制器。主视图 table 中的选择会更改详细视图。这一切都已设置并正常工作。
但是,我想要做的是,当在主视图 table 中进行纵向选择时,主视图应该在屏幕外显示动画。其次,如果在纵向模式下启动时未在主视图 table 中进行选择,我想将主视图设置为动画。
感谢任何指导。
答案是为 preferredDisplayMode 设置动画 属性。显示代码为:
if (UIInterfaceOrientationIsPortrait([UIDevice currentDevice].orientation)) {
[UIView animateWithDuration:ANIMATION_LENGTH animations:^{
self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModePrimaryOverlay;
} completion:^(BOOL finished) {
self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAutomatic;
}];
}
隐藏代码是:
if (UIInterfaceOrientationIsPortrait([UIDevice currentDevice].orientation)) {
[UIView animateWithDuration:ANIMATION_LENGTH animations:^{
self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModePrimaryHidden;
} completion:^(BOOL finished) {
self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAutomatic;
}];
}
我在完成时将其设置回自动,以便拆分视图控制器可以在动画完成后执行其正常操作。我还在节目中添加了另一个布尔值,所以我只在我的详细信息项尚未设置时显示它,但我从上面的代码中删除了它,因为这是特定于您自己的代码。
我仅在 iPad 中使用拆分视图,iOS 8 应用程序采用标准形式。 (当 iPad 是横向时,它显示主视图和详细视图;当纵向时,它显示详细视图全屏,主视图从左侧滑入。)主视图和详细视图都是导航视图控制器其中 master 包含一个 table 视图控制器。主视图 table 中的选择会更改详细视图。这一切都已设置并正常工作。
但是,我想要做的是,当在主视图 table 中进行纵向选择时,主视图应该在屏幕外显示动画。其次,如果在纵向模式下启动时未在主视图 table 中进行选择,我想将主视图设置为动画。
感谢任何指导。
答案是为 preferredDisplayMode 设置动画 属性。显示代码为:
if (UIInterfaceOrientationIsPortrait([UIDevice currentDevice].orientation)) {
[UIView animateWithDuration:ANIMATION_LENGTH animations:^{
self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModePrimaryOverlay;
} completion:^(BOOL finished) {
self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAutomatic;
}];
}
隐藏代码是:
if (UIInterfaceOrientationIsPortrait([UIDevice currentDevice].orientation)) {
[UIView animateWithDuration:ANIMATION_LENGTH animations:^{
self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModePrimaryHidden;
} completion:^(BOOL finished) {
self.splitViewController.preferredDisplayMode = UISplitViewControllerDisplayModeAutomatic;
}];
}
我在完成时将其设置回自动,以便拆分视图控制器可以在动画完成后执行其正常操作。我还在节目中添加了另一个布尔值,所以我只在我的详细信息项尚未设置时显示它,但我从上面的代码中删除了它,因为这是特定于您自己的代码。