Pro*_*ton 18 objective-c uinavigationcontroller ios segue
我不知道何时应该使用导航控制器而不是将segue与普通的View Controller一起使用?如果使用segue,Modal和Push segue之间有什么不同?
能给我举个例子?
Jov*_*vie 19
简短回答:使用带有"show"segue的导航控制器仅实现DRILL DOWN行为.
例如,导航控制器→作者→书籍→书籍
对于"根"(作者)下方的每个级别,导航控制器会自动添加标题栏和后退按钮.所以在Books上,后退按钮自动命名为"<Authors".
子视图控制器必须与SHOW segues连接 - 显示segues告诉导航控制器"这是一个父子关系"并导致预期的右上滑过渡.(要跳到层次结构之外,例如,Books→Login,请使用模态segue.)
根视图控制器有一个导航栏,您可以添加更多栏按钮,但子视图控制器不会,因为它是自动添加的.
现在可以解释Apple 开始开发iOS应用程序(Swift)中 FoodTracker教程的奇怪布局.**第二个嵌套导航控制器有什么用?这只是一个简单的餐点列表:点击一顿饭以在膳食细节中显示它,或点击添加到和膳食细节变成添加膳食.
第一个导航控制器使My Meals成为深入层次结构的根,用于从那里"推送"的任意数量的视图(不需要进一步的导航控制器).
但是,膳食细节用于显示现有膳食和添加新膳食.要添加新餐,需要取消和保存按钮.第二个导航控制器允许通过将膳食细节设为根来添加这些按钮(参见上面的第3点).
显示现有的膳食是推动segue,但添加膳食是一种模式segue(新的膳食不是深入研究).这很重要:添加餐不能被推动的原因是自动后退按钮("<我的餐点")变得模棱两可:是保存还是取消?
因为"导航"和"推送"是非常通用的术语,并且因为获得自由后退按钮很好,所以认为导航控制器从任何地方到任何地方都是很诱人的,但这种行为仅用于分层遍历.
(这是一个老问题,但我也对此作为iOS n00b感到困惑,像OP一样,我仍有疑问.)
根据我的经验,决定这类事情没有一般规则,这取决于你未来App的可用性......
导航控制器可以帮助用户记住他们在每个时刻的位置,以及他们如何返回,但如果你有太多级别,则不能成为最好的东西......更重要的是,如果你使用的是NavigationController或者一个TabBarController,你有一个类,可以从所有其他ViewControllers访问,你可以在其中拥有一般功能或数据......
modal和push segue之间的区别在于,在第一个中你将始终返回到父ViewController,因为你只是在顶部显示新信息,而在push中你将一个ViewController替换为其他...
归档时间: |
|
查看次数: |
10265 次 |
最近记录: |