Swift 3-如何覆盖子类中的方法

时间:2016-10-04 12:28:48

标签: ios swift override subclass swift3

在Swift 3中,我想在其子类中覆盖UITextField的{​​strong> caretRectForPosition 方法CustomTextField

这是我的代码,在Swift 2.3之前工作正常

import UIKit

class CustomTextField: UITextField {
    override func caretRectForPosition(position: UITextPosition) -> CGRect {
        return CGRect.zero
    }
}

但在Swift 3中它显示编译时错误Method不会覆盖其超类中的任何方法。

任何人都可以帮我解决这个问题。

我正在使用此代码隐藏文本字段的光标。

提前致谢。

1 个答案:

答案 0 :(得分:6)

在Swift 3中caretRectForPosition(position:)更改为caretRect(for:)

override func caretRect(for position: UITextPosition) -> CGRect {
    return CGRect.zero
}

检查Apple Documentation以获取有关UITextInput的详细信息。