@property
(
nonatomic
,
readonly
,
retain
)
UIViewController
*
visibleViewController (
topViewController代表当前navigation栈中最上层的VC,而visibleViewController代表当前可见的VC,它可能是topViewController,也可能是当前topViewController present出来的VC。因此UINavigationController的这两个属性通常情况下是一样,但也有可能不同。
)
animated:
(
BOOL
)
animated
导航控制器所管理的视图
|
animated:
(
BOOL
)
animated
animated:
(
BOOL
)
animated
导航控制器的入栈/出栈管理
|
- (
void
)
setNavigationBarHidden:
(
BOOL
)
hidden
animated:
(
BOOL
)
animated
导航条管理
|
@property
(
nonatomic
,
readwrite
,
assign
)
BOOL
hidesBarsOnTap
@property
(
nonatomic
,
readwrite
,
assign
)
BOOL
hidesBarsOnSwipe
(是否可以通过手势控制navigation Bar 和 tool Bar)
@property
(
nonatomic
,
readwrite
,
assign
)
BOOL
hidesBarsWhenVerticallyCompact(垂直状态隐藏bar)
@property
(
nonatomic
,
readwrite
,
assign
)
BOOL
hidesBarsWhenKeyboardAppears(出现键盘时,隐藏bar)
@property
(
nonatomic
,
getter
=
isNavigationBarHidden
)
BOOL
navigationBarHidden
bar的显示或者隐藏
|
入栈 出栈状态
|
- (
void
)
setToolbarHidden:
(
BOOL
)
hidden
animated:
(
BOOL
)
animated
@property
(
nonatomic
,
getter
=
isToolbarHidden
)
BOOL
toolbarHidden
|
sender:
(
id
)
sender
|
1> Left side of the navigationBar
a)如果当前的viewController设置了leftBarButtonItem,则显示当前VC所自带的leftBarButtonItem。
b)如果当前的viewController没有设置leftBarButtonItem,且当前VC不是rootVC的时候,则显示前一层VC的backBarButtonItem。如果前一层的VC没有显示的指定backBarButtonItem的话,系统将会根据前一层VC的title属性自动生成一个back按钮,并显示出来。
c)如果当前的viewController没有设置leftBarButtonItem,且当前VC已是rootVC的时候,左边将不显示任何东西。
此处注意:5.0中新增加了一个属性leftItemsSupplementBackButton,通过指定该属性为YES,可以让leftBarButtonItem和backBarButtonItem同时显示,其中leftBarButtonItem显示在backBarButtonItem的右边。
2> title部分
a)如果当前VC通过 .navigationItem.titleView指定了自定义的titleView,系统将会显示指定的titleView,此处要注意自定义titleView的高度不要超过navigationBar的高度,否则会显示出界。
b)如果当前VC没有指定titleView,系统则会根据当前VC的title或者当前VC的navigationItem.title的内容创建一个UILabel并显示,其中如果指定了navigationItem.title的话,则优先显示navigationItem.title的内容。
3> Right side of the navigationBar
a)如果当前VC指定了rightBarButtonItem的话,则显示指定的内容。
同时实现这两个方法, 用以更改返回按钮的图标
|
@property
(
nonatomic
,
assign
,
getter
=
isTranslucent
)
BOOL
translucent 设置半透明效果
|
@property
(
nonatomic
,
copy
)
NSString
*
prompt
A single line of text displayed at the top of the navigation bar.
|
@property
(
nonatomic
,
retain
)
UIBarButtonItem
*
backBarButtonItem (定制返回按钮, 当其所属视图控制器位于栈的第二层,且top层未设置leftBarButtonItems时 显示为top的导航条的返回按钮)
@property
(
nonatomic
,
assign
)
BOOL
hidesBackButton
@property
(
nonatomic
)
BOOL
leftItemsSupplementBackButton (
通过指定该属性为YES,可以让leftBarButtonItem和backBarButtonItem同时显示,其中leftBarButtonItem显示在backBarButtonItem的右边。
)
|