swift4.0 方法监听Selector写法总结
2018-02-02 13:51
399 查看
import UIKit
class MainViewController: UITabBarController {
//MARK:属性 懒加载
lazy var composeBtn = UIButton(composeForeImageName: "tabbar_compose_icon_add", composeBackImageName: "tabbar_compose_button")
//MARK:重写方法
override func viewDidLoad() {
super.viewDidLoad()
tabBar.addSubview(composeBtn)
}
override func viewWillLayoutSubviews() {
composeBtn.center = CGPoint(x: tabBar.center.x, y:tabBar.bounds.height * 0.5)
//方法1:Selector("方法名") Swift已经不推荐使用,会被提示改成第二种代替
// composeBtn.addTarget(self, action:Selector(("composeBtnClick")), for: .touchUpInside)
//方法2:Selector("类名.方法名") 推荐写法
composeBtn.addTarget(self, action:#selector(MainViewController.composeBtnClick), for: .touchUpInside)
//方法3:"方法名"
// composeBtn.addTarget(self, action:"composeBtnClick", for: .touchUpInside)
}
}
//MARK:事件监听
extension MainViewController{
//这里必须要加@objc 否则会崩溃
@objc func composeBtnClick(){
print("composeBtnClick")
}
}
class MainViewController: UITabBarController {
//MARK:属性 懒加载
lazy var composeBtn = UIButton(composeForeImageName: "tabbar_compose_icon_add", composeBackImageName: "tabbar_compose_button")
//MARK:重写方法
override func viewDidLoad() {
super.viewDidLoad()
tabBar.addSubview(composeBtn)
}
override func viewWillLayoutSubviews() {
composeBtn.center = CGPoint(x: tabBar.center.x, y:tabBar.bounds.height * 0.5)
//方法1:Selector("方法名") Swift已经不推荐使用,会被提示改成第二种代替
// composeBtn.addTarget(self, action:Selector(("composeBtnClick")), for: .touchUpInside)
//方法2:Selector("类名.方法名") 推荐写法
composeBtn.addTarget(self, action:#selector(MainViewController.composeBtnClick), for: .touchUpInside)
//方法3:"方法名"
// composeBtn.addTarget(self, action:"composeBtnClick", for: .touchUpInside)
}
}
//MARK:事件监听
extension MainViewController{
//这里必须要加@objc 否则会崩溃
@objc func composeBtnClick(){
print("composeBtnClick")
}
}
相关文章推荐
- Swift学习记录 -- 13.类的构造方法及属性监听
- Android开发——Home键监听方法总结
- Android 监听数据变化比较合理的写法总结
- swift方法 的写法,ui上拖拽的控件到controller里面的方法
- 常用原生JS方法总结(兼容性写法)
- swift自定义方法添加监听方法参数
- Swift 中 Selector 方法的访问权限控制问题
- [iOS-Swift编程]Method '...' with Objective-C selector '...' 错误的解决方法
- JAVA基础再回首(二十二)——转换流概述及用法、简化写法FileWriter和 FileReader、字符缓冲流及特殊用法、字节流字符流复制文件方法总结
- Swift - 动画效果的实现方法总结(附样例)
- Swift 常用方法总结
- 工作总结 for 另类写法 循环加时间 集合合并 也是用的 static class Enumerable (IEnumerable<T>的扩展方法) (IEnumerable<T> 的 工具类) (所有集合 数组都实现IEnumerable<T>)
- Swift 中 Selector 方法的访问权限控制问题
- 常用原生JS方法总结(兼容性写法)
- Swift循环遍历集合的方法总结分享
- 监听<input/>标签行为的方法总结
- [绍棠_Swift] Swift - 动画效果的实现方法总结(附样例)
- Swift - 动画效果的实现方法总结(附样例)
- 【swift-总结】方法
- 字节流,字符流文件复制总结,包含9种方法,都是标准写法