在 iOS 键盘上方附加自定义警报视图

Attaching a custom alert view above the iOS keyboard

我正在尝试设计("properly designed," 而不是 "hack")自定义警报视图。视图应该附加到键盘的顶部;用键盘向上滑动(如果有提示)或隐藏(如果没有提示)。

视图应始终 "stick" 到键盘...包括,例如,当键盘隐藏时。在这种情况下,视图应该与键盘一起向下滑动,看不见。

这是我正在尝试实现的目标的示例(带有活动警报):

我最初考虑过子类化 UIAlertView,但看起来不推荐这样做。而且,经过一些试验后,这显然是一项棘手的任务。我收到了一个警报,但它变成了与键盘保持同步的问题,而且我还没有找到一种方法来使它 "track" 随着键盘的运动......不顺利。

有什么想法吗?

您可以使用 UITextFieldUITextView 中的 inputAccessoryView 来实现。有关详细信息,请参阅 Apple "Text Programming Guide for iOS" 中的 Custom Views for Data Input 章节。

例如,可以在键盘上方添加一个非常简单的红色条,代码如下:

let keyboardAlertView = UIView(frame:CGRectMake(0,0,320,44))
keyboardAlertView.backgroundColor = UIColor.redColor()
textField.inputAccessoryView = keyboardAlertView