Swift 设置navigation左右两侧按钮

我们以设置右侧按钮为例,左侧方法类似

方法一,直接自定义文字

  1. let item=UIBarButtonItem(title: "分享", style: UIBarButtonItemStyle.Plain, target: self, action: nil)
  2. self.navigationItem.rightBarButtonItem=item

方法二,使用系统图标

  1. let item1=UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Done, target: self, action: nil)//此处使用的图标UIBarButtonSystemItem是一个枚举.大家可以尝试一下其他值出来是什么
  2. self.navigationItem.rightBarButtonItem=item1

方法三,使用自定义控件

这里我们自定义button为例来实现

  1. let btn1=UIButton(frame: CGRectMake(0, 0, 50, 30))
  2. btn1.setTitle("完成", forState: UIControlState.Normal)
  3. let item2=UIBarButtonItem(customView: btn1)
  4. self.navigationItem.rightBarButtonItem=item2

方法四,我们还可以直接放一张图片上去

  1. var img=UIImage(named: "test_img")
  2. let item3=UIBarButtonItem(image: img, style: UIBarButtonItemStyle.Plain, target: self, action: nil)
  3. self.navigationItem.rightBarButtonItem=item3

如果只是按照以上方法实现,我们会发现出来的是一个纯色的图片,是因为iOS扁平化设计风格应用之后做成这样的,如果需要现实图片,我们可以设置一项 img=img?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)

以上方法都是添加一个按钮

如果想一次添加多个该怎么做?

我们发现我们给右侧按钮赋值的方法是 rightBarButtonItem   其实还有属性 rightBarButtonItems

看代码

  1. let items1=UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Pause, target: self, action: nil)
  2. let items2=UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Action, target: self, action: nil)
  3. self.navigationItem.rightBarButtonItems=[items1,items2]

如果想设置左侧按钮 直接 调用 self.navgigationItem.leftBarButtonItem 即可

时间: 2025-01-01 07:31:06

Swift 设置navigation左右两侧按钮的相关文章

设置navigation的左右按钮

没有简单的技术,只有还没懂的问题. 自定义导航栏的左右按钮,并且设置常态图片和高亮图,一个UIBarButtonItem肿么实现捏,咳咳,还是重写个方法吧. 为了增加扩展性呢,就重写UIBarButtonItem的分类,通过类方法,来设置 需求驱动开发 把要设置的属性作为参数传进去,除了可以设置按钮,还可以监听点击方法,此方法灰常高明啊,我又顽皮了.. 再往下就没有什么好注意的了,这是一小步,一点也不厉害,可是,这是我的一小步,百步中的百分之一 没有简单的技术,没有白痴的问题,只有我暂时还没懂的

IOS 改变Navigation的返回按钮

两个办法: 1, 手动为每一个UIViewController添加navigationItem的leftButton的设置代码 2,为UINavigationController实现delegate,在pop和push的时候改变当前和上一页的navigationItem.title 以下是封装的一些基础方法,供参考: + (void) navigationItem:(UINavigationItem*)navigationItem setTitle:(NSString*)title; + (vo

iOS定制修改navigation的back按钮

iOS开发中,navigation的返回按钮是英文"back",想修改成中文"返回"或者自定义的文字:这么简单的事情却折腾了小半个小时.原来是被leftBarButtonItem和rightBarButtonItem的设置方法给迷惑了. 我们设置leftBarButtonItem和rightBarButtonItem的时候都是在当前页面:而backBarButtonItem却是在父页面:所以需要在调用 [self.navigationControllerpushVi

jqgrid 将列头设置为超链接或按钮

有时,需要将某个列头设置为超链接或按钮,点击超链接或按钮能够跳转至其他页面(或执行一个事件操作). 可以把 label 值设置成一个a标签或button 代码如下: colModel: [{ label: '<a href="HtmlPage1.html" title="测试标题">OrderID</a>', name: 'OrderID', key: true, width: 75 }]

Swift 设置导航栏透明

Swift 设置导航栏透明,就是设置一张空的图片,但如果只设置这一句代码,并不起作用,还需要其他设置,直接上代码 // 1.设置导航栏标题属性:设置标题颜色 self.navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName:UIColor.white] // 2.设置导航栏前景色:设置item指示色 self.navigationController?.navigation

在VS2005中设置WPF中自定义按钮的事件

原文:在VS2005中设置WPF中自定义按钮的事件 上篇讲了如何在Blend中绘制圆角矩形(http://blog.csdn.net/johnsuna/archive/2007/08/13/1740781.aspx),本篇继续下一步骤,如何自定义按钮的事件. (1)首先,在VS2005中打开上篇所建的项目(File - Open Project),找到LinearGradientButton.csproj(这是我这里的项目名称),打开之后,双击LinearGradientDemo.xaml.cs

Blend 设置一个圆形的按钮

原文:Blend 设置一个圆形的按钮 1)画一个圆形 右击构成控件 3)选择button  当然如果想做成别的控件 都可以 4)我们有了一个button 5)做动画 6)定义触发器 7)定义事件 效果 原文地址:https://www.cnblogs.com/lonelyxmas/p/12075810.html

swift 设置图片定时手势轮播,scrollview及修改pageControl按钮颜色

首先: 设置使用UIScrollViewDelegate代理协议 其次需要初始化全局变量: var picArray = [String]() //图片数量 let scrollview = UIScrollView() let pageControl = UIPageControl() var timer = NSTimer() 再次: 设定scrollview 与pageControl 的frame : 接着,循环图片,添加到scrollview中: for(var i=0;i<self.p

[Swift] 如何用Swift做一个不错的按钮变换动画

汉堡按钮在 UI 设计中早已不是什么新鲜玩意儿了,但是某天我突然在 dribbble 上看到了这个酷炫的动画效果,效果真是棒棒哒!于是我决定把它在代码里实现一下. 先来看下 CreativeDash 团队做出来的原始动画效果: 我们可以看到 (看得我眼睛都花了),汉堡按钮 (也就是三条横线的那个)的上下两条线分别绕着自身最优的端点旋转了45°,变成了按钮里的 X ,中间的那个线则摇身一变,成了外面的圈圈.这个效果可以用 CAShapeLayer 实现,但是首先,我需要为这三条直线分别创建一个 C