UIKit - 如何防止 UITextField 的默认模糊和焦点背景?

UIKit - How to prevent default blur and focus background of UITextField?

如图所示,UITextField(仅在 tvOS 上?)默认情况下具有以下行为:

我如何remove/change这些行为?

我做了什么?

附加信息

其实我们总是可以继承UIKit classes 做任何我们想做的layout/style。这是如何完成此操作的非常原始的演示。

已使用 Xcode 12.1 / tvOS 14.0

进行准备和测试

所以只需替换自定义 subclass 的 UITextField class

class MyTextField: UITextField {

    lazy var textLayer = CATextLayer()
    
    override func didMoveToSuperview() {
        super.didMoveToSuperview()
        layer.backgroundColor = UIColor.clear.cgColor

        textLayer.font = self.font
        textLayer.fontSize = 36
        textLayer.foregroundColor = UIColor.white.cgColor
        textLayer.alignmentMode = .center
        textLayer.frame = layer.bounds
        layer.addSublayer(textLayer)
        layer.borderWidth = 2
    }

    override func layoutSublayers(of layer: CALayer) {
        layer.borderColor = self.isFocused ? UIColor.black.cgColor : UIColor.clear.cgColor
        textLayer.frame = layer.bounds
        textLayer.string = self.text?.isEmpty ?? true ? self.placeholder : self.text
    }

    override func addSubview(_ view: UIView) {
        // blocks standard styling
    }

}