Swift 导航栏设置
let width = UIScreen.mainScreen().bounds.size.width
let height = UIScreen.mainScreen().bounds.size.height
override func viewDidLoad() {
super.viewDidLoad()
self.title = "这是标题"
self.view.backgroundColor = UIColor.yellowColor()
//自定义标题视图
// let titleLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 200, height: 44))
// titleLabel.textAlignment = NSTextAlignment.Center
// titleLabel.backgroundColor = UIColor.grayColor()
// titleLabel.font = UIFont.boldSystemFontOfSize(25)
// titleLabel.textColor = UIColor.redColor()
// titleLabel.text = "hehe"
// self.navigationItem.titleView = titleLabel
let button = UIButton(type: UIButtonType.System)
button.setTitle("按钮", forState: UIControlState.Normal)
button.addTarget(self, action: "titleViewBtnClick:", forControlEvents: UIControlEvents.TouchUpInside)
button.frame = CGRect(x: 0, y: 0, width: 100, height: 30)
self.navigationItem.titleView = button
/*----------------------UINavigationItem两侧按钮----------------*/
//第一种方式
let leftItem1 = UIBarButtonItem(title: "anniu", style: UIBarButtonItemStyle.Done, target: self, action: "leftAnniuClick")
// self.navigationItem.leftBarButtonItem = leftItem1
//第一种方式
let leftItem2 = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Bookmarks, target: self, action: "btnClick:")
// self.navigationItem.leftBarButtonItem = leftItem2
self.navigationItem.leftBarButtonItems = [leftItem1, leftItem2]
//第三种方式(自定义按钮)
let rightButton = UIButton(type: UIButtonType.Custom)
rightButton.frame = CGRect(x: 0, y: 0, width: 33, height: 32)
rightButton.addTarget(self, action: "rightBtnClick:", forControlEvents: UIControlEvents.TouchUpInside)
rightButton.setImage(UIImage(named: "btn_search.png"), forState: UIControlState.Normal)
let rightItem = UIBarButtonItem(customView: rightButton)
self.navigationItem.rightBarButtonItem = rightItem
/*----------------UINavigationBar导航栏背景设置------------------*/
//隐藏导航栏
// self.navigationController?.navigationBarHidden = true
//设置导航栏背景风格
self.navigationController?.navigationBar.barStyle = UIBarStyle.Default
//设置导航栏的半透明效果,默认是yes
// self.navigationController?.navigationBar.translucent = false
//设置导航栏的背景颜色(必须有半透明效果)
// self.navigationController?.navigationBar.backgroundColor = UIColor.redColor()
//将导航上所有的Label的字体变色
self.navigationController?.navigationBar.tintColor = UIColor.redColor()
//设置图片作为导航栏的背景,设置了背景图片,导航栏就不透明
var img = UIImage(named: "navbar_bg_normal.png")
UIGraphicsBeginImageContext(CGSizeMake(width, 64))
img?.drawInRect(CGRect(x: 0, y: 0, width: width, height: 64))
img = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
self.navigationController?.navigationBar.setBackgroundImage(img, forBarMetrics: UIBarMetrics.Default)
//设置提示文本,通常用不上
// self.navigationItem.prompt = "正在保存";
}
func titleViewBtnClick(btn: UIButton) {
print("标题被点击了")
}
func leftAnniuClick() {
print("anniu被点击了")
}
func btnClick(btn: UIButton) {
print(btn)
}
func rightBtnClick(btn: UIButton) {
print("rightBtnClick")
}
Swift 导航栏设置的更多相关文章
- Swift 导航栏设置图片点击事件,图片蓝色的解决方案
如果导航栏想做一个点击事件,正好是一个图片 我们可以直接这样: self.navigationItem.rightBarButtonItem = UIBarButtonItem(image: UIIm ...
- ABP(现代ASP.NET样板开发框架)系列之22、ABP展现层——导航栏设置
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之22.ABP展现层——导航栏设置 ABP是“ASP.NET Boilerplate Project (ASP.NE ...
- 转:ios导航栏设置
原帖:http://www.cocoachina.com/industry/20131104/7287.html 本文提供的代码需要用Xcode 5来执行.如果你还在使用老版本的Xcode,那么在运行 ...
- 前端css小米导航栏设置及盒子定位居中问题
1.小米最上部导航栏设置 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- swift导航栏导航按钮添加多个按钮事件
//导航左边返回按钮 let button1 = UIButton(frame:CGRectMake(0, 0, 18, 18)) button1.setImage(Constant.Image.Na ...
- iOS 11导航栏设置BarButtonItem变形问题和错位问题
升级到 iOS 11,你可能会发现你的 App 的工具栏的行为出了点异常.比如奇点,我在使用过程中,发现工具栏时灵时不灵,感觉很难点到.这是怎么回事?通过 Xcode 的 Debug View Hie ...
- iOS - 导航栏设置半透明或取消半透明
self.navigationController.navigationBar.translucent = YES;//透明
- iOS不得姐项目--appearance的妙用,再一次设置导航栏返回按钮,导航栏左右按钮的封装(巧用分类)
一.UI_APPEARANCE_SELECTOR 彩票项目中appearance的用法一直没有搞明白,这次通过第二个项目中老师的讲解,更深一层次的了解到了很多关于appearance的作用以及使用方法 ...
- iOS10 的适配问题,你遇到了吗?导航栏标题和返回按钮神奇的消失了
苹果系统升级后好多应用都发了新版本来适配,今天就来分享一下我的适配历程. 首先是出现的问题: 1.push一个控制器,返回按钮和标题神奇的消失了,打开三维视图(比较坑的是有的版本老到打不开三维视图 ) ...
随机推荐
- Python自动发送邮件-smtplib和email库
''' 一.先导入smtplib模块 导入MIMEText库用来做纯文本的邮件模板 二.发邮件几个相关的参数,每个邮箱的发件服务器不一样,以163为例子百度搜索服务器是 smtp.163.com 三. ...
- log4j2介绍及配置
一.log4j2概述 在日常的开发,测试和生产环境中,日志记录了应用,服务运行过程中的关键信息,以及出现异常时的堆栈,这些信息常常作为查询,定位,解决问题的关键,因此在任何系统中,对日志的使用得当,将 ...
- centos上yum安装nodeJS
更新node.js各版本yum源 Node.js v8.x安装命令 curl --silent --location https://rpm.nodesource.com/setup_8.x | ba ...
- C++ vector错误(1)
在用C++的vector的时候,要保证访问的下标不能超过vector的size.否则出现msvcp60.dll 访问禁止.
- docker——三剑客之Docker swarm
Docker Swarm是Docker官方的三剑客项目之一,提供Docker容器集群服务,是Docker官方对容器云生态进行支持的核心方案.使用它,用户可以将多个Docker主机封装为单个大型的虚拟D ...
- fatal error C1010: unexpected end of file while looking for precompiled header directive
在编译VS时候,出现fatal error C1010: unexpected end of file while looking for precompiled head. 问题详细解释:致命错误C ...
- cocos代码研究(26)Widget子类RichView学习笔记
理论部分 一个显示多个RichElement的容器类. 我们可以使用它很容易显示带图片的文本,继承自 Widget. 代码实践 static RichText * create ()创建一个空的Ric ...
- MyBatis—mapper.xml映射配置
SQL文件映射(mapper文件),几个顶级元素的配置: mapper元素:根节点只有一个属性namespace(命名空间)作用: 1:用于区分不同的mapper,全局唯一. 2:绑定DAO接口,即面 ...
- 为什么要用Zero-Copy机制?
考虑这样一种常用的情形:你需要将静态内容(类似图片.文件)展示给用户.那么这个情形就意味着你需要先将静态内容从磁盘中拷贝出来放到一个内存buf中,然后将这个buf通过socket传输给用户,进而用户或 ...
- SQL: 拼接列
1. 因工作需要,需把两列(id,created_by)拼接成一列,结果很有意思,前5个值都是null. 2.解决方法:null加减乘除任何值都等于null,所以使用isnull函数先处理下列的值再拼 ...