Using a custom font in a UITextField causes it to shift slightly when accessed — is there a fix?

前端 未结 10 2001
后悔当初
后悔当初 2020-12-13 14:32

I have a custom font in a UITextField, and I\'ve noticed that when it\'s accessed (when the keyboard appears), the text shifts down by a very small amount -- maybe

10条回答
  •  不知归路
    2020-12-13 14:43

    This is expected behaviour in a standard UITextField. You can however solve this by subclassing UITextField and by adjusting the bounds for the text itself.

    Swift 3

    override func textRect(forBounds bounds: CGRect) -> CGRect {
        return(bounds.insetBy(dx: 0, dy: 0))
    }
    
    override func editingRect(forBounds bounds: CGRect) -> CGRect {
        return(bounds.insetBy(dx: 0, dy: -0.5))
    }
    
    override func placeholderRect(forBounds bounds: CGRect) -> CGRect {
        return(bounds.insetBy(dx: 0, dy: 0))
    }
    

    This should do the trick!

提交回复
热议问题