作者:米粒尖尖果儿_445 | 来源:互联网 | 2023-05-26 16:16
我只在iPad中使用拆分视图,iOS 8应用程序采用标准格式.(当iPad为横向时,它会同时显示主视图和详细视图;当纵向显示全屏细节视图时,主视图从左侧滑入.)主视图和详细视图都是导航视图控制器,其中包含主视图表视图控制器.主视图表中的选择会更改详细视图.这一切都已设置并正常工作.
但是,我想要做的是,在纵向方向上,在主视图的表格中进行选择时,主视图应该在屏幕上显示动画.其次,如果在纵向模式下启动时未在主视图表中进行选择,我想将主视图设置为视图.
任何指导表示赞赏.
1> eliajf..:
答案是为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;
}];
}
我在完成时将其设置回自动,因此分割视图控制器可以在动画完成后执行正常操作.我还在节目中添加了另一个布尔值,所以我只显示我的细节项目尚未设置但我从上面的代码中删除它,因为这是特定于您自己的代码.