在 xCode 更新 6.3 之后,我遇到了这个问题:“MyUItextViewExtension.swift:xx:xx: 方法 'editingRectForBounds' 与 Objective-C 选择器 'editingRectForBounds:' 与先前声明与相同的 Objective-C 选择器冲突”
我的斯威夫特代码是:
extension UITextField{
func editingRectForBounds(bounds: CGRect) -> CGRect{
if self.leftView != nil {
let textFieldPadding : CGFloat = 24.0
return CGRectMake(bounds.origin.x + textFieldPadding, bounds.origin.y, bounds.size.width+textFieldPadding*2, bounds.size.height)
} else {
return textRectForBounds(bounds)
}
}
func textRectForBounds(bounds: CGRect) -> CGRect {
if self.leftView != nil {
let textFieldPadding : CGFloat = 24.0
return CGRectMake(bounds.origin.x + textFieldPadding, bounds.origin.y, bounds.size.width+textFieldPadding*2, bounds.size.height)
} else {
let textFieldPadding : CGFloat = 8.0
return CGRectMake(bounds.origin.x + textFieldPadding, bounds.origin.y, bounds.size.width+textFieldPadding*2, bounds.size.height)
}
}
}
我无法理解这个错误的原因。在项目中未定义 UITextField 上的另一类扩展...