Swift:在iOS中显示键盘的顶部创建边框或细线

Fry*_*Fry 1 uikeyboard ios autolayout swift

正如话题已经说过的那样,我尝试在我的UIKeyboard外观上创建一个小线.原因是,如果我在白色背景下弹出白色键盘,它看起来很糟糕.

一个想法是创建一个薄的1px线并将其放在底部,隐藏它并在显示键盘时显示它并将其与自动布局对齐.这个想法的缺点是在每个视图中都这样做.

谢谢你的想法.

rob*_*off 5

每一个UITextFieldUITextView有一个inputAccessoryView属性(从继承UIResponder父类).当其中一个视图成为第一响应者并且系统显示屏幕键盘时,系统会自动inputAccessoryView在键盘顶部显示第一个响应者.例如,在这个答案中,带有左箭头和右箭头的暗条和"完成"按钮是一个inputAccessoryView.

因此,在键盘顶部获得细线的最简单方法可能是创建一个高点视图并将其设置为inputAccessoryView文本字段或文本视图.将附件视图的背景颜色设置为深色.


Tus*_*rde 5

最简单的方法是在 textFiled 成为第一响应者并且系统显示屏幕键盘时为 textFiled 添加一个 inpustAccessoryView。

试试这个:Swift 3:

func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {   

        let separatorView = UIView(frame:CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: 1))
        separatorView.backgroundColor = UIColor.lightGray
        textField.inputAccessoryView = separatorView

    return true
}
Run Code Online (Sandbox Code Playgroud)