[swift将导航栏标题修改成自定义]Swift将导航栏标题修改成自定义视图(图片、按钮、分段选择等)

更新时间:2020-03-24    来源:按钮特效    手机版     字体:

【www.bbyears.com--按钮特效】

默认导航栏UINavigationController的标题是文字,通过navigationItem.titleView属性可以很方便的将其替换成自定义的UIView视图。

   

1,使用图片作为标题

原文:Swift - 将导航栏标题修改成自定义视图(图片、按钮、分段选择等)

 

1 2 let image = UIImage(named: "logo") self.navigationItem.titleView = UIImageView(image: image)
2,使用按钮作为标题

原文:Swift - 将导航栏标题修改成自定义视图(图片、按钮、分段选择等)

import UIKit
 
class ViewController: UIViewController {
 
    override func viewDidLoad() {
        super.viewDidLoad()
 
        let button = UIButton(frame:CGRectMake(0, 0, 110, 110))
        button.setImage(UIImage(named: "btn3"), forState: .Normal)
        button.addTarget(self,action:Selector("titleTapped"),forControlEvents:.TouchUpInside)
        self.navigationItem.titleView = button
    }
     
    func titleTapped(){
        print("tapped")
    }
 
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

3,使用分段选择控件作为标题

原文:Swift - 将导航栏标题修改成自定义视图(图片、按钮、分段选择等)

import UIKit
 
class ViewController: UIViewController {
 
    override func viewDidLoad() {
        super.viewDidLoad()
 
        let items=["电话","短信"] as [AnyObject]
        let segmented=UISegmentedControl(items:items)
        segmented.center=self.view.center
        segmented.selectedSegmentIndex=0 //默认选中第1项
        segmented.addTarget(self, action: "segmentDidchange:",
            forControlEvents: UIControlEvents.ValueChanged)  //添加值改变监听
        self.navigationItem.titleView = segmented
    }
     
    func segmentDidchange(segmented:UISegmentedControl){
        //获得选项的索引
        print(segmented.selectedSegmentIndex)
        //获得选择的文字
        print(segmented.titleForSegmentAtIndex(segmented.selectedSegmentIndex))
    }
 
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

本文来源:http://www.bbyears.com/wangyetexiao/89326.html

热门标签

更多>>

本类排行