0

我有一个 UIViewController 有两个文本字段,inputAinputB. inputA就像一个普通的文本字段一样工作,点击它,键盘就会出现,你可以输入。但inputB会触发另一个视图(将其视为一个按钮)。第二个视图,MyView,有一个自定义的弹出视图,动画显示在键盘上。MyView的弹出窗口最初的 alpha 为 0,我已经设置了键盘出现时的通知,以便将弹出窗口的视图 alpha 设置为 1。

这很好用,但是我有一个“错误”,当键盘当前显示时,因为用户首先点击了 inputA,然后他们点击了 inputB,它会触发MyView但因为键盘已经显示通知未发送以更改弹出窗口阿尔法到 1。

所以问题是:解决这个问题的干净方法是什么?我希望视图与键盘一起出现,但如果它已经存在,则应该发送它。

有没有办法测试键盘是否已经显示?每次在这两个视图中显示/隐藏键盘时,我都想这样做而不设置布尔值。

4

1 回答 1

0

尝试以下

if ([inputA isFirstResponder] || [inputB isFirstResponder]){

//显示键盘

}别的{

//键盘不显示

}

于 2010-11-11T08:08:01.623 回答