arc*_*all 3 objective-c uitableview ios swift
我试图用左右边距/插图制作UITableViewCell.我以前用Objective-C使用以下代码制作了这个:
- (void)setFrame:(CGRect)frame {
frame.origin.x += 25;
frame.size.width -= 2 * 25;
[super setFrame:frame];
}
Run Code Online (Sandbox Code Playgroud)
此代码不会直接转换为Swift,因为现在我必须覆盖公共框架变量,但将此代码放在该变量的setter中无效.如何在Swift中使用此方法或类似技术获得边距?
这是我尝试过的Swift:
private var otherFrame: CGRect = CGRectZero
override public var frame: CGRect {
get {
return otherFrame
}
set {
otherFrame = frame
otherFrame.origin.x += 25
otherFrame.size.width -= 2 * 25
}
}
Run Code Online (Sandbox Code Playgroud)
Objective-C代码的直接翻译将是:
override var frame: CGRect {
get {
return super.frame
}
set {
var frame = newValue
frame.origin.x += 25
frame.size.width -= 2 * 25
super.frame = frame
}
}
Run Code Online (Sandbox Code Playgroud)
没有必要额外的财产.您newValue在setter中使用隐式值.
| 归档时间: |
|
| 查看次数: |
2556 次 |
| 最近记录: |