我正在尝试将UIView
扩展为设置大小和来源的快捷方式,就像Obj-C
here中所做的那样。
吸气剂效果很好,但是制定者没有。有什么想法吗?我做错了什么?
这是我从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
谢谢你的帮助!
答案 0 :(得分:4)
setter名称和括号括起来是可选的。如果你提供 一个setter名称,它被用作setter参数的名称。 如果您未提供setter名称,则默认参数名称为 setter newValue 。
将set
方法更改为:
set {
self.frame.size.width = newValue
}