UINavigationBar

UINavigationController

UINavigationBar

UIToolbar

UIBarItem

UIBarButtonItem


  1. Assigning the Delegate
  2. Pushing and Popping Items
  3. Customizing the Bar Appearance

UINavigationBar受UINavigationController控制,显示在屏幕的最上方,常用的有左按钮、右按钮和标题等。

使用UINavigationBar最常见的方法是结合UINavigationController一起使用,这样可以帮助我们在不同的屏幕直接快速导航。

我们还可以获取修改整个系统的UINavigationBar,只需使用UINavigationBar.appearance()拿到系统的UINavigationBar,然后修改其中相关参数即可。

值得注意的是:如果在一个UINavigationController控制的VC内修改系统UINavigationBar样式,还需要修改当前UINavigationBar。获取当前UINavigationBar的代码如下:

if let bar = self.navigationController?.navigationBar {

}

1 Assigning the Delegate

/// 代理监听UINavigationItem的push和pop
weak public var delegate: UINavigationBarDelegate?

2 Pushing and Popping Items

/// 是否动画压入UINavigationItem
///
/// - parameter item : UINavigationItem
/// - parameter animated : Bool
///
/// - returns: void
public func pushNavigationItem(item: UINavigationItem, animated: Bool)

/// 是否动画弹出UINavigationItem
///
/// - parameter animated : Bool
///
/// - returns: 当前UINavigationItem
public func popNavigationItemAnimated(animated: Bool) -> UINavigationItem? // Returns the item that was popped.

/// 首个UINavigationItem
public var topItem: UINavigationItem? { get }
/// 上一个UINavigationItem
public var backItem: UINavigationItem? { get }

/// 所有的UINavigationItem
public var items: [UINavigationItem]?

/// 是否动画替换UINavigationItem
///
/// - parameter items : 要替换的[UINavigationItem]
/// - parameter animated : Bool
///
/// - returns: void
public func setItems(items: [UINavigationItem]?, animated: Bool)

3 Customizing the Bar Appearance

/// 后退按钮的图片
@available(iOS 7.0, *)
public var backIndicatorImage: UIImage?
/// 跳转过程中的后退按钮图片
@available(iOS 7.0, *)
public var backIndicatorTransitionMaskImage: UIImage?

/// 视图样式
public var barStyle: UIBarStyle
/// 背景颜色
@available(iOS 7.0, *)
public var barTintColor: UIColor? // default is nil

/// 阴影图像
@available(iOS 6.0, *)
public var shadowImage: UIImage?

/// 按钮颜色
public var tintColor: UIColor!

/// 是否透明
@available(iOS 3.0, *)
public var translucent: Bool


/// 设置背景图片到指定位置的
@available(iOS 7.0, *)
public func setBackgroundImage(backgroundImage: UIImage?, forBarPosition barPosition: UIBarPosition, barMetrics: UIBarMetrics)
/// 获取指定位置的背景图片
public func backgroundImageForBarPosition(barPosition: UIBarPosition, barMetrics: UIBarMetrics) -> UIImage?

/// 设置背景图片到指定度量
@available(iOS 5.0, *)
public func setBackgroundImage(backgroundImage: UIImage?, forBarMetrics barMetrics: UIBarMetrics)
/// 获取指定度量的背景图片
@available(iOS 5.0, *)
public func backgroundImageForBarMetrics(barMetrics: UIBarMetrics) -> UIImage?

/// 标题样式
@available(iOS 5.0, *)
public var titleTextAttributes: [String : AnyObject]?
/// 设置标题的垂直位置
@available(iOS 5.0, *)
public func setTitleVerticalPositionAdjustment(adjustment: CGFloat, forBarMetrics barMetrics: UIBarMetrics)
/// 获取指定度量的标题位置
@available(iOS 5.0, *)
public func titleVerticalPositionAdjustmentForBarMetrics(barMetrics: UIBarMetrics) -> CGFloat

 


其他

源代码

Swift

参考资料

UIKit Framework Reference

UINavigationController Class Reference

UINavigationBar Class Reference

文档修改记录

时间描述
2016-01-09博文完成

版权所有

CSDN:http://blog.csdn.net/y550918116j

GitHub:https://github.com/937447974/Blog

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值