我试图通过视图调试器对其进行调试,但仍然无法检测到其原因。
如果可能存在一些隐藏问题,则TextField在自定义类下面
class ChatTextField: UITextField {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
initNib()
}
override init(frame: CGRect) {
super.init(frame: frame)
initNib()
}
func initNib() {
self.attributedPlaceholder = NSAttributedString(string: "Send a message to Kael",
attributes: [NSAttributedString.Key.foregroundColor: #colorLiteral(red: 0.1879999936, green: 0.1979999989, blue: 0.2930000126, alpha: 1)])
self.layer.borderWidth = 2
self.layer.cornerRadius = 4.0
self.layer.borderColor = #colorLiteral(red: 0.3059999943, green: 0.5329999924, blue: 0.5490000248, alpha: 1)
self.addInnerShadow(onSide: .all, shadowColor: UIColor(red: 0, green: 0, blue: 0, alpha: 0.2), shadowSize: 10, cornerRadius: 15, shadowOpacity: 0.8)
}
let padding = UIEdgeInsets(top: 0, left: 20, bottom: 0, right: 30)
override open func textRect(forBounds bounds: CGRect) -> CGRect {
return bounds.inset(by: padding)
}
override open func placeholderRect(forBounds bounds: CGRect) -> CGRect {
return bounds.inset(by: padding)
}
override open func editingRect(forBounds bounds: CGRect) -> CGRect {
return bounds.inset(by: padding)
}
}
最佳答案
您正在调用从initNib()
扩展名的UITextField
方法给内部阴影的方法。
您必须通过根据纵向和横向模式设置不同的offset
来修改阴影方法。
尝试删除您的阴影方法,该方法会将阴影应用于文本字段,然后检查其是否正常工作。
关于ios - 横向模式下UITextField中间的奇怪黑条,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59890899/