UIView frame.size.width 与 frame.width 之间的区别

Difference between UIView frame.size.width vs frame.width

var view = UIView(frame: CGRect(x: 5, y: 5, width:50, height: 30))
println(view.frame.size.width)
println(view.frame.width)

它们都打印出相同的值,这两者有什么区别?是否有一些特定的场景应该使用特定的场景?

CGRect 扩展具有宽度和高度属性,如 get 方法。

struct CGRect {
    var origin: CGPoint
    var size: CGSize
}

extension CGRect {
    var width: CGFloat { get }
    var height: CGFloat { get }
}

基本上它们是相同的区别是

  • frame.width = 5不可能
  • frame.size.width = 5 是可能的