Swift中CGRect等結(jié)構(gòu)體的變化
之前轉(zhuǎn)載了一篇博客,只要介紹了CGRect,CGSize和CGPoint的Swift寫法
[轉(zhuǎn)]Swift 范的 CGRect、CGSize 和 CGPoint
在這里主要記錄一下CGRect的變化,我們也可以延伸其他結(jié)構(gòu)體的寫法
/// 官方文檔
public init(x: CGFloat, y: CGFloat, width: CGFloat, height: CGFloat)
public init(x: Double, y: Double, width: Double, height: Double)
public init(x: Int, y: Int, width: Int, height: Int)
看到上面的文檔我們就知道了怎么寫了
let button = UIButton(frame: CGRect.init(x: 0, y: 0, width: 44, height: 44))
Swift3.0中Selector的變化
之前寫過一篇博客主要介紹了Swift2.x中Selector的變化
Swift3.0中Selector的變化
/// Swift3.0中的寫法
let button = UIButton(type: .Custom)
button.addTarget(self, action: #selector(bottomButtonClick), for: .touchUpInside)
func bottomButtonClick(sender: UIButton){
/// 打印button的tag
}
Swift3.0中SnapKit的新寫法
最新項(xiàng)目中使用了OC和Swift的混編,項(xiàng)目中使用了SnapKit,但是使用pod管理時(shí)出現(xiàn)問題,但是SnapKit是支持Swift3.0的,在簡(jiǎn)書上看到了一個(gè)不錯(cuò)的博客swift3.0使用SnapKit3.0.0+
SnapKit之前的寫法
//添加控件
view.addSubview(bottomButton)
bottomButton.snp_makeConstraints { (make) in
make.bottom.equalTo(view.snp_bottom)
make.left.right.equalTo(view)
make.height.equalTo(44)
}```
如果我們還是這樣寫,xcode8會(huì)顯示如下提示
![xcode8提示](http://upload-images.jianshu.io/upload_images/1242012-97ccaf2bc4052ed3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![xcode8提示](http://upload-images.jianshu.io/upload_images/1242012-a959208adaaaaf7d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
通過提示可以看到請(qǐng)使用`snp.xxx`代替`snp_xxx`
### SnapKit Swift3.0的寫法
```Swift
bottomButton.snp.makeConstraints{ (make) in
make.bottom.equalTo(view.snp.bottom)
make.left.right.equalTo(view)
make.height.equalTo(44)
}