相关疑难解决方法(0)

你能为setRootViewController设置动画吗?

我正在使用SplitViewController,它不能成为导航控制器的一部分.我在IBAction上使用SetRootViewController,这很好,但它没有动画.理想情况下,我想使用与导航控制器相同的动画(从左/右滑入),但如果不可能,我想在需要时使用一致的动画.

cocoa-touch view ipad ios

5
推荐指数
1
解决办法
3327
查看次数

具有七个选项卡的选项卡栏控制器,五个选项卡通向拆分视图控制器

我已经做了大量研究,并且阅读了很多关于将Tab Bar控制器与Split View Controllers一起使用的信息,但是似乎找不到任何解决方法的提示...

到目前为止,Apple开发者论坛中针对Cocoa Touch的帖子中的标题“在TabBarController内放置SplitViewController”到目前为止给了我最大的指导。

从iOS 8开始,支持将拆分视图控制器嵌入选项卡栏控制器(或您自己的容器视图控制器)中,并且有望“正常工作”。仍然不支持将拆分视图控制器推入导航堆栈。

这似乎违反了Apple文档,其中包括日期为2014年11月的标题为“ Combined View Controller Interfaces”的文章。

您可以使用UIKit框架本身提供的视图控制器,也可以将其与其他视图控制器结合使用,以创建更复杂的接口。但是,当组合视图控制器时,包含的顺序很重要。只有某些安排有效。从孩子到父母的收容顺序如下:

  • 内容视图控制器和具有灵活边界的容器视图控制器(例如页面视图控制器)
  • 导航视图控制器
  • 标签栏控制器
  • 分割视图控制器

我有UITabBarController七个标签。其中,五个选项卡导致UISplitViewControllers,两个选项卡导致UINavigationControllers。

这是一些情节提要的屏幕截图,显示了标签栏控制器通向五个拆分视图控制器中的三个... <code> UIStoryboard </ code>的屏幕截图

当我使用self.traitCollection.horizontalSizeClass = UIUserInterfaceSizeClassRegular- 运行设备屏幕的水平(宽度)尺寸为常规(非紧凑型)->在iPad上运行目标时,没问题。所有七个选项卡都显示在底部选项卡栏上,并且所有视图控制器(包括拆分视图控制器)都可以正常工作。

我的问题?

当我使用self.traitCollection.horizontalSizeClass = UIUserInterfaceSizeClassCompact-在设备屏幕的水平(宽度)尺寸为紧凑->在iPhone或iPhone Plus上运行的目标运行目标时,Xcode会出错并冻结应用程序操作。正如预期的那样,IB和iOS设备都具有相同的结果。

错误信息: Split View Controllers cannot be pushed to a Navigation Controller <UIMoreNavigationController: 0x7ffda38b0200>

我知道为什么我收到了错误消息。在水平尺寸类别为“紧凑”的情况下,七个选项卡在屏幕上下降到五个,其中一个(由iOS专门准备)为“更多”选项卡。其余三个选项卡都降级为“更多”选项卡,它是其自己的导航控制器和表视图控制器。我的情节提要正在尝试将拆分视图控制器推入此导航堆栈。

对合法解决方案有什么想法?

objective-c uitabbarcontroller uiviewcontroller uisplitviewcontroller ios

5
推荐指数
1
解决办法
481
查看次数