如何在 ios 的键盘顶部添加一行?
How to add line at the top of keyboard in ios?
我有一个显示数字键盘的视图。我的问题是键盘缺少顶线。白色背景出现令人不快的效果:
如何在顶部添加 1pt 视图来模拟顶线?
最简单的方法是添加 1 磅高 UIView
作为 inputAccessoryView
to a UITextField
. See Custom Views for Data Input。
如果您使用多个字段或希望对其进行更多控制,您可以将子视图添加到当前控制器的 view
并将其放置在适当的位置。为此,您可以使用 OS(UIKeyboardWillShowNotification
和 UIKeyboardWillHideNotification
)发布的键盘通知,如 How to make a UITextField move up when keyboard is present? 中所述。
快速而肮脏:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
UIView *separatorView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth([UIScreen mainScreen].bounds), 1.0 / [UIScreen mainScreen].scale)];
separatorView.backgroundColor = [UIColor lightGrayColor];
textField.inputAccessoryView = separatorView;
return YES;
}
对于Swift3,iOS10
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
var separatorView = UIView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: 1.0/UIScreen.main.scale))
separatorView.backgroundColor = UIColor.lightGray
textField.inputAccessoryView = separatorView
return true
}
我有一个显示数字键盘的视图。我的问题是键盘缺少顶线。白色背景出现令人不快的效果:
如何在顶部添加 1pt 视图来模拟顶线?
最简单的方法是添加 1 磅高 UIView
作为 inputAccessoryView
to a UITextField
. See Custom Views for Data Input。
如果您使用多个字段或希望对其进行更多控制,您可以将子视图添加到当前控制器的 view
并将其放置在适当的位置。为此,您可以使用 OS(UIKeyboardWillShowNotification
和 UIKeyboardWillHideNotification
)发布的键盘通知,如 How to make a UITextField move up when keyboard is present? 中所述。
快速而肮脏:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
UIView *separatorView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth([UIScreen mainScreen].bounds), 1.0 / [UIScreen mainScreen].scale)];
separatorView.backgroundColor = [UIColor lightGrayColor];
textField.inputAccessoryView = separatorView;
return YES;
}
对于Swift3,iOS10
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
var separatorView = UIView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: 1.0/UIScreen.main.scale))
separatorView.backgroundColor = UIColor.lightGray
textField.inputAccessoryView = separatorView
return true
}