UINavigationController介绍:4-UINavigationBar
UINavigationBar继承自UIView,它是UINavigationController中的一个重要属性,因此,我们可见的导航栏样式主要(不是全部)是由UINavigationBar决定的,其影响的主要是除导航栏中按钮和标题之外的样式,例如背景颜色、背景图片等等,而导航栏中左右两侧的按钮和中间的标题是在子控制器中设置的。这样的实现方式,既可以保证导航栏总体样式的统一(由UINavigationController的UINavigationBar决定),又可以兼顾每个子控制器的功能定制灵活性。
UINavigationBar介绍
UINavigationBar继承自UIView,因此我们可见的导航栏的总体样式是由其决定的。另外,导航栏外观的定制主要包括两大内容:
- UINavigationBar自身的外观属性:如背景颜色,文字颜色、BarStyle、背景图片等等,所有子控制器都会使用的公共样式。
@property(nonatomic,readonly) UINavigationBar *navigationBar;
- UINavigationBar上的UINavigationItem:NavigationBar上的按钮都是UINavigationItem对象
一个导航控制器的创建过程中,会先创建一个NavigationBar,然后NavigationBar会创建对应控制器的NavigationItem。
UINavigationBar的外观属性
UINavigationBar中提供的有关样式设置主要属性和方法有:
- 导航栏整体样式
@property(nonatomic,assign) UIBarStyle barStyle;
- 导航栏文字颜色
@property(null_resettable, nonatomic,strong) UIColor *tintColor;
- 导航栏背景颜色
@property(nullable, nonatomic,strong) UIColor *barTintColor ;
- 设置导航栏背景图片
- (void)setBackgroundImage:(nullable UIImage *)backgroundImage forBarMetrics:(UIBarMetrics)barMetrics;
获取子控制器的UINavigationItem
UINavigationBar类中也提供了用于获取在该控制器中的所有UINavigationItem对象,用于管理UINavigationItem的相关属性主要包括如下几个。
@property(nullable,nonatomic,copy) NSArray <UINavigationItem *>*items;
@property(nullable, nonatomic,readonly,strong) UINavigationItem *topItem;
@property(nullable, nonatomic,readonly,strong) UINavigationItem *backItem;
文章发布时间为: October 27th , 2016 at 03:28 pm
最后编辑时间为: September 13th , 2017 at 03:00 pm
本文由 99ios 创作,转载请注明出处
最后编辑时间为: September 13th , 2017 at 03:00 pm
本文由 99ios 创作,转载请注明出处