Har*_*nan 12 ios cgrect cgsize swift xcode6
我正在用swift编写一个程序,刚才我注意到我可以直接访问CGRect框架的宽度和高度属性而不使用CGSize宽度和高度.那就是我现在能够编写这样的代码.
@IBOutlet var myView: UIView!
override func viewDidLoad()
{
super.viewDidLoad()
var height = myView.frame.height
var height1 = myView.frame.size.height
}
Run Code Online (Sandbox Code Playgroud)
在Objective C中,当我尝试编写相同的代码时,该行height = view.frame.height会抛出错误.任何人都可以告诉我这两行代码中的差异(如果有的话).
Vin*_*ain 25
我只是查看了CGRect结构参考.在Swift中有一个扩展定义,它有成员height和width.请看下面的代码
struct CGRect {
var origin: CGPoint
var size: CGSize
}
extension CGRect {
...
var width: CGFloat { get }
var height: CGFloat { get }
...
}
Run Code Online (Sandbox Code Playgroud)
这样你就可以直接从a中获取height和width赋值CGRect.正如您所看到的getters那样,如果您尝试使用这些值设置,则会出现错误view.frame.height = someValue