【www.bbyears.com--按钮特效】
默认导航栏UINavigationController的标题是文字,通过navigationItem.titleView属性可以很方便的将其替换成自定义的UIView视图。
1,使用图片作为标题
1 2
let
image =
UIImage
(named:
"logo"
)
self
.navigationItem.titleView =
UIImageView
(image: image)
2,使用按钮作为标题
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,使用分段选择控件作为标题
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()
}
}