我在UIView上有一个简单的扩展名,可以简写地返回所有的帧值。
extension UIView {
var x: CGFloat { return self.frame.origin.x }
var y: CGFloat { return self.frame.origin.y }
var width: CGFloat { return self.frame.size.width }
var height: CGFloat { return self.frame.size.height }
}
然而,每当我从视图控制器访问self.view.width
时,我的应用程序都会收到错误的访问消息。我在扩展程序上尝试了一些不同的变体,包括{ return CGRectGetMinX(self.frame)
和
let f = self.frame
return f.size.width
但错误在所有情况下都会持续存在。