21.UINavigationController和UINavigationBar的使用小技巧
来源:互联网 发布:淘宝助理设置快递模板 编辑:程序博客网 时间:2024/06/01 09:22
在许多应用中, 我们最常用到的控件之一就是UINavigationBar和UINavigationController, 但这里有一些细节需要注意, 下面让我们一起来看看吧.
1.准备界面
2.预备知识
初始化UIBarButtonItem有好几种方法, 如下:
// 1.自定义图片的UIBarButtonItem样式 init(image: UIImage?, style: UIBarButtonItemStyle, target: AnyObject?, action: Selector) // 2.自定义风景图片的UIBarButtonItem样式 init(image: UIImage?, landscapeImagePhone: UIImage?, style: UIBarButtonItemStyle, target: AnyObject?, action: Selector) // 3.自定义纯文字的的UIBarButtonItem样式 init(title: String?, style: UIBarButtonItemStyle, target: AnyObject?, action: Selector) // 4.使用系统自带的UIBarButtonItem样式 init(barButtonSystemItem systemItem: UIBarButtonSystemItem, target: AnyObject?, action: Selector) // 5.自定义视图的UIBarButtonItem样式 init(customView: UIView)
3.ViewControllerOne
override func viewDidLoad() { super.viewDidLoad() // 1.设置UINavigationBar的背景颜色 self.navigationController?.navigationBar.backgroundColor = UIColor.redColor() // 2.设置UINavigationBar的样式 、 self.navigationController?.navigationBar.barStyle = UIBarStyle.BlackTranslucent // 3.开启UINavigationBar的透明效果 self.navigationController?.navigationBar.translucent = true }
4.VIewControllerTwo
class ViewControllerTwo: UIViewController, UIGestureRecognizerDelegate { override func viewDidLoad() { super.viewDidLoad() // 1.调用自定义的BarButtonItem方法 self.customNavigationBarButtonItem() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } // 2.自定义BarButtonItem func customNavigationBarButtonItem() { // 2.1.自定义左上角的BarButtonItem, UIBarButtonItemStyle的样式在iOS8之后只能选择Plain和Done, Bordered样式已经被弃用了 let leftBarButtonItem = UIBarButtonItem(title: "左边", style: UIBarButtonItemStyle.Plain, target: self, action: "leftBarButton") // 2.2.自定义右上角的BarButtonItem, UIBarButtonItemStyle的样式在iOS8之后只能选择Plain和Done, Bordered样式已经被弃用了 let rightBarButtonItem = UIBarButtonItem(title: "右边", style: UIBarButtonItemStyle.Plain, target: self, action: "rightButton") // 2.3.只适用于系统的BackItem, 自定义的leftBarButtonItem不适用 //UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(0, -60), forBarMetrics: UIBarMetrics.Default) // 2.4.设置手势的代理对象为self self.navigationController?.interactivePopGestureRecognizer.delegate = self; // 2.5.添加自定义的rightBarButtonItem self.navigationItem.rightBarButtonItem = rightBarButtonItem // 2.6.添加自定义的leftBarButtonItem self.navigationItem.leftBarButtonItem = leftBarButtonItem // 2.7.目前找不到直接自定义backBarButtonItem的方案 //self.navigationItem.backBarButtonItem = backBarButtonItem } // 3.自定义leftBarButtonItemAction的方法 func leftBarButton() { // 3.1.输出 println("我是左边的BarButtonItem") // 3.2.回到上一个ViewController self.navigationController?.popViewControllerAnimated(true) } // 4.自定义rightBarButtonItemAction的方法 func rightButton() { // 4.1.输出 println("我是右边的BarButtonItem") } }
4.最终效果
项目工程地址: 链接: http://pan.baidu.com/s/1jGtjvoU 密码: jb83
0 0
- 21.UINavigationController和UINavigationBar的使用小技巧
- UINavigationController的使用技巧
- iOS开发 改变UINavigationController的UINavigationBar的高度和背景图片
- iOS开发 改变UINavigationController的UINavigationBar的高度和背景图片
- iOS开发 改变UINavigationController的UINavigationBar的高度和背景图片
- iOS开发 改变UINavigationController的UINavigationBar的高度和背景图片
- 隐藏UINavigationController的标题栏UINavigationBar
- UINavigationController使用的一些技巧
- UINavigationController使用的一些技巧
- UINavigationController使用的一些技巧
- UINavigationController使用的一些技巧
- UINavigationController使用的一些技巧
- UINavigationController,UINavigationBar
- UINavigationController,UINavigationBar
- uinavigationController和uiSrcoll以及uiPageControl的结合使用---小相册
- iOS开发进阶 - 隐藏UINavigationBar的小技巧
- iOS隐藏导航栏底部的线条& UINavigationBar小技巧
- iOS隐藏导航栏底部的线条& UINavigationBar小技巧
- Saltstack内置核心模块shadow
- 【Machine Learning公开课】Chapter 2
- 关于java中的操作符
- C# 获取CPU序列号、网卡MAC地址、硬盘序列号封装类,用于软件绑定电脑
- Java进阶(五十三)屡试不爽之正则表达式
- 21.UINavigationController和UINavigationBar的使用小技巧
- vga 与 asf 同步播放
- tableView简化写法
- ubuntu14.04 mysql用户权限操作实录
- Android SDK Manager国内无法更新的解决方案
- Saltstack内置state模块file之managed
- python 20151227
- GC基本算法及C++GC机制
- iOS面试题8