Tasks
Creating Navigation Controllers
– initWithRootViewController:
– initWithNavigationBarClass:toolbarClass:
Accessing Items on the Navigation Stack
topViewController property
visibleViewController property
viewControllers property
– setViewControllers:animated:
Pushing and Popping Stack Items
– pushViewController:animated:
– popViewControllerAnimated:
– popToRootViewControllerAnimated:
– popToViewController:animated:
Configuring Navigation Bars
navigationBar property
navigationBarHidden property
– setNavigationBarHidden:animated:
Accessing the Delegate
delegate property
Configuring Custom Toolbars
toolbar property
– setToolbarHidden:animated:
toolbarHidden property
实例方法
initWithNavigationBarClass:toolbarClass:
初始化并返回新创建的导航控制器,使用您的自定义bar子类。
- (instancetype)initWithNavigationBarClass:(Class)navigationBarClass toolbarClass:(Class)toolbarClass
Parameters
navigationBarClass
指定自定义您想要使用UINavigationBar子类,或指定零使用标准UINavigationBar类。
toolbarClass
指定自定义您想要使用UIToolbar子类,或指定零使用标准UIToolbar类。
Return Value
这个初始化导航控制器对象或零如果有问题初始化对象。
Discussion
使用这个初始化方法,如果你想使用自定义导航栏和工具栏和导航控制器的子类。如果您使用这种方法,你负责添加根视图控制器在屏幕上呈现导航控制器。
Availability
Available in iOS 5.0 and later.
Declared In
UINavigationController.h
initWithRootViewController:
初始化并返回新创建的导航控制器。
- (id)initWithRootViewController:(UIViewController *)rootViewController
Parameters
rootViewController
视图控制器,位于底部的导航堆栈。这个对象的一个实例不能UITabBarController类。
Return Value
这个初始化导航控制器对象或零如果有问题初始化对象。
Discussion
这是一个很方便的方法初始化接收机和推动一根视图控制器到导航堆栈。每个导航堆栈必须至少有一个视图控制器作为根。
Availability
Available in iOS 2.0 and later.
Related Sample Code
GeocoderDemo
iAdSuite
ListAdder
MVCNetworking
TableViewSuite
Declared In
UINavigationController.h
popToRootViewControllerAnimated:
持久性的所有视图控制器在堆栈上除了根视图控制器并更新显示。
- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated
Parameters
animated
这个值设置为YES动画这个过渡。通过没有如果您正在设置一个导航控制器前视图显示方式。
Return Value
一组视图控制器,从堆栈中弹出。
Discussion
根视图控制器变得顶部视图控制器。对于信息更新的导航栏,请参阅“更新导航栏”。
Availability
Available in iOS 2.0 and later.
See Also
– pushViewController:animated:
– popViewControllerAnimated:
– popToViewController:animated:
Declared In
UINavigationController.h
popToViewController:animated:
弹出视图控制器直到指定的视图控制器是在堆栈顶部的导航。
- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated
Parameters
viewController
视图控制器,您想要在堆栈的顶部。
animated
这个值设置为YES动画这个过渡。通过没有如果您正在设置一个导航控制器前视图显示方式。
Return Value
一个数组中的视图控制器,从堆栈中弹出。
Discussion
对于信息更新的导航栏,请参阅“更新导航栏”。
Availability
Available in iOS 2.0 and later.
See Also
– pushViewController:animated:
– popViewControllerAnimated:
– popToRootViewControllerAnimated:
Declared In
UINavigationController.h
popViewControllerAnimated:
顶弹出视图控制器从导航堆栈并更新显示。
- (UIViewController *)popViewControllerAnimated:(BOOL)animated
Parameters
animated
这个值设置为YES动画这个过渡。通过没有如果您正在设置一个导航控制器前视图显示方式。
Return Value
视图控制器,从堆栈中弹出。
Discussion
该方法消除了从堆栈顶部视图控制器,使新的堆栈的顶部的活动视图控制器。如果视图控制器在堆栈的顶部是根视图控制器,该方法并没有。换句话说,你不能流行栈上的最后一项。
除了显示视图相关的新视图控制器在堆栈的顶部,这个方法还可以更新的导航栏和工具栏因此。在iOS 3.0和以后,内容的内置导航工具栏就会更新来反映工具栏项目的新视图控制器。对于信息更新的导航栏,请参阅“更新导航栏”。
Availability
Available in iOS 2.0 and later.
See Also
– pushViewController:animated:
– popToRootViewControllerAnimated:
– popToViewController:animated:
Declared In
UINavigationController.h
pushViewController:animated:
把一个视图控制器到接收机的堆栈并更新显示。
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
Parameters
viewController
视图控制器,被压入堆栈。这个对象的一个实例不能标签栏控制器和它必须不是已经在导航堆栈。
animated
指定是的动画这个过渡或没有,如果你不希望过渡是动画。你可能没有指定如果你设置导航控制器在发射时间。
Discussion
对象在viewController参数成为顶级视图控制器在导航堆栈。推动一个视图控制器的结果在视图的显示它管理。如何确定视图显示方式由动画参数。如果动画参数是肯定的,这个观点是动画的位置;否则,视图是简单地显示在的地方。视图是自动调整大小以适应导航栏和工具栏之间(如果存在),然后才显示。
除了显示视图相关的新视图控制器在堆栈的顶部,这个方法还可以更新的导航栏和工具栏因此。在iOS 3.0和以后,内容的内置导航工具栏就会更新来反映工具栏项目的新视图控制器。对于信息更新的导航栏,请参阅“更新导航栏”。
重要:在iOS 2.2和以后,如果对象参数已经放在了viewController导航堆栈,这个方法抛出一个异常。在早期版本的iOS,这个方法只是什么也不做。
Available in iOS 2.0 and later.
See Also
– popViewControllerAnimated:
– popToRootViewControllerAnimated:
– popToViewController:animated:
Related Sample Code
BonjourWeb
DrillDownSave
EADemo
Declared In
UINavigationController.h
setNavigationBarHidden:animated:
集是否导航栏是隐藏的。
- (void)setNavigationBarHidden:(BOOL)hidden animated:(BOOL)animated
Parameters
hidden
指定是的隐藏导航栏或没有显示它
animated
是的,如果你想指定动画的变化或不可见性,如果你们想导航栏出现立即。
Discussion
对于动画过渡,持续的动画是指定的值在UINavigationControllerHideShowBarDuration常数。
Availability
Available in iOS 2.0 and later.
See Also
@property navigationBarHidden
Declared In
UINavigationController.h
setToolbarHidden:animated:
更改的可见性的内置工具栏导航控制器。
- (void)setToolbarHidden:(BOOL)hidden animated:(BOOL)animated
Parameters
hidden
指定是的隐藏工具栏或没有显示它。
animated
如果你想要指定是的工具栏是动画打开或关闭屏幕。
Discussion
您可以使用这个方法来激活更改的可见性的内置工具栏。
调用该方法与动画参数设置为没有相当于设置的值直接toolbarHidden属性。工具栏显示简单或消失根据值在隐藏参数。
Availability
Available in iOS 3.0 and later.
See Also
@property toolbarHidden
Declared In
UINavigationController.h
setViewControllers:animated:
取代了视图控制器目前管理的导航控制器与指定的项目。
- (void)setViewControllers:(NSArray *)viewControllers animated:(BOOL)animated
Parameters
viewControllers
视图控制器放置在堆栈。前后的秩序的控制器在这个数组表示新秩序的自下而上的控制器在导航堆栈。因此,最后一项添加到数组成为顶级项目的导航堆栈。
animated
如果是的,推动推动或弹出视图控制器的顶部。如果没有,取代视图控制器没有任何动画。
Discussion
您可以使用这种方法来更新或替换当前视图控制器堆栈不推或出现每个控制器明确。此外,这种方法允许您更新组控制器没有带动了变化,这可能是适当的在发射时间当您想要返回到前一个导航控制器状态。
如果动画是启用的,这种方法决定哪种类型的过渡到执行基于是否最后一项条目数组中已经在导航堆栈。如果视图控制器目前在堆栈,但不是最高的项目,这个方法使用一个流行的过渡;如果它是最高的项目,没有过渡是执行。如果视图控制器不是在堆栈上,这种方法使用一个推动过渡。只有一个过渡是表现,但当过渡完成,整个堆栈的内容替换为新的视图控制器。例如,如果控制器A、B和C在堆栈和你设定控制器D和B,这个方法使用一个流行转变和生成的堆栈包含控制器D,一个A和B。
Availability
Available in iOS 3.0 and later.
Declared In
UINavigationController.h
常量
UINavigationControllerHideShowBarDuration
一个全局变量,用于指定一个首选的持续时间当动画导航栏。
extern const CGFloat UINavigationControllerHideShowBarDuration
Constants
UINavigationControllerHideShowBarDuration
这个变量指定持续时间当动画导航栏。注意,这是一个常量值,因此它不能被设置。
Available in iOS 2.0 and later.
Declared in UINavigationController.h.
浙公网安备 33010602011771号