我是不是以错误的方式使用 UINavigationController?
Posted
技术标签:
【中文标题】我是不是以错误的方式使用 UINavigationController?【英文标题】:Am I using UINavigationController the wrong way?我是否以错误的方式使用 UINavigationController? 【发布时间】:2011-07-18 11:33:54 【问题描述】:我希望 NavigationItem 保持静态,所以我想要的唯一动画必须是被推送或弹出屏幕的内容。到目前为止,我还没有找到一个干净的解决方案。
我所做的是创建 UINavigationItem 的单个实例(在 appdelegate 内)并将其分配给每个 viewControllers navigationItems。这似乎可行。在过渡期间只有内容是动画的。
所以我的第一个问题是,在多个 ViewController 上使用同一个 NavigationItem 是否合法?
我的实际问题是我打电话时
[navigationController popRootViewController:animated:]
要返回我的主菜单,应用程序会崩溃 - 但前提是我的历史堆栈中至少有 4 个 ViewController:
NSRangeException', reason: '*** -[NSMutableArray removeObjectAtIndex:]: index 1 beyond bounds [0 .. 0]
我发现有人有同样的问题,但答案不包括我的情况:
https://discussions.apple.com/thread/1976079?start=0&tstart=0
【问题讨论】:
【参考方案1】:beyond bounds
表示您要访问数组中不可用的对象。看起来您有一个MutableArray
,其中只有一个值。请检查您的数组初始化代码。
【讨论】:
对不起,我没有说清楚是谁抛出了异常:是navigationController。所以数组是由它创建和处理的。以上是关于我是不是以错误的方式使用 UINavigationController?的主要内容,如果未能解决你的问题,请参考以下文章
UINavigation 控制器 UIViewController 和 UItoolbar 作为子视图问题