我最近开始学习ios开发。我通过嵌入它使用UINavigationBar
创建了一个项目,因为我需要一个标题栏。但是我可以通过使用对象库中的UINavigationController
来实现相同的功能。
我看到的唯一区别是当我使用NavigationController
时,当我使用segue时,我得到一个后退按钮。他们之间有什么不同吗?在哪种情况下使用哪一种?
顺便说一句,为什么另一个{{1}}被添加到我的故事板?它的意义是什么?(没有人在我看过的任何视频中解释过它)
谢谢。
答案 0 :(得分:3)
<form name="myForm">
<input type="text" ng-model="$ctrl.inputText">
<input type="number" ng-model="$ctrl.inputNumber">
</form>
自动处理自己的NavigationController
并处理viewControllers的导航堆栈,UINavigationBar
有一个委托,您可以用它来了解viewControllerNavigationStack中发生的事情,所以出来
使用NavigationController
的代表,您可以在以下情况下收到通知:
NavigationController将使用此方法显示一些viewController:
NavigationController
;
NavigationController确实显示了一些viewController,使用此方法:
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
您也可以使用- (void)navigationController:(UINavigationController *)navigationController didShowViewController:(UIViewController *)viewController animated:(BOOL)animated;
进入导航堆栈上的特定viewController,或者您可以弹出并推送没有segues的viewController
答案 1 :(得分:2)
UINavigationBar类提供导航控件 等级内容。这是一个酒吧,通常显示在顶部 屏幕,包含用于在层次结构中导航的按钮 屏幕。主要属性是左(后)按钮,中心 标题和可选的右键。您可以使用导航栏作为 独立对象或与导航控制器结合使用 对象
UINavigationController类实现了一个专门的视图 管理分层内容导航的控制器。这个 导航界面可以显示您的数据 有效地使用户更容易导航该内容。 您通常按原样使用此类,但您也可以子类化 自定义类行为。
使用带导航控制器的导航栏
使用导航栏的最常用方法是使用导航栏 UINavigationController对象。 如果您使用导航控制器 管理不同内容屏幕之间的导航 导航控制器自动创建导航栏 适当时推送和弹出导航项。
导航控制器会自动将自己指定为委托 其导航栏对象。因此,在使用导航时 控制器,不要将自定义委托对象分配给相应的 导航栏