如何在 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(UIKeyboardWillShowNotificationUIKeyboardWillHideNotification)发布的键盘通知,如 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
}