【发布时间】:2014-07-18 09:07:04
【问题描述】:
我正在尝试使用设置大小和原点的快捷方式扩展UIView,就像在Obj-Chere 中所做的那样。
吸气剂工作得很好,但二传手却不行。任何想法为什么?我做错了什么?
这是我从 Obj-C 重写为 Swift 的代码:
extension UIView {
...
var height : CGFloat {
get {
return self.frame.size.height
}
set {
var r = self.frame;
r.size.height = height;
self.frame = r;
}
}
这是另一个,因为CGRect 属性是“val”
var width : CGFloat {
set {
self.frame.size.width = width
}
get {
return self.frame.size.width
}
}
但是这些设置器都不起作用
这很好用,但是太长了:)
self.frame.size.width = 100
感谢您的帮助!
【问题讨论】:
-
在设置器中,您需要在第二行使用
newValue而不是height。这个概念在你的其他二传手中是一样的。