我已将 inputAccessoryView 设置为 XIB 文件视图的引用出口,其中包含用于可选键盘的按钮。这使得视图在标准键盘显示时显示,在标准键盘隐藏时隐藏。
当它在中间区域被点击时,也有必要隐藏可选键盘。这使它在标准键盘仍然显示时被隐藏。为此,我还将另一个属性设置为同一个 XIB 文件视图的引用插座。
我隐藏了可选键盘,将其框架的 origin.y 设置为一个高数字:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.30f];
viewOptionalKeyboard.frame = CGRectMake(viewOptionalKeyboard.frame.origin.x, 1200, viewOptionalKeyboard.frame.size.width, viewOptionalKeyboard.frame.size.height);
[UIView commitAnimations];
[UIView setAnimationDuration:0];
这使得可选键盘被隐藏,但动画在标准键盘的顶部而不是后面。您可以看到辅助键盘从上到下遍布整个窗口,直到它被隐藏。
有没有办法将它隐藏在标准键盘“后面”,使其隐藏过程看起来更好?
我编辑了这个问题,因为现在隐藏效果很好,克里斯的回答建议改变视图的大小。
现在的问题是再次显示它:当我点击一个按钮时,视图应该以相同的大小再次显示。在按钮点击事件中,我添加了以下代码:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.30f];
viewOptionalKeyboard.frame = CGRectMake(viewOptionalKeyboard.frame.origin.x, 500, viewOptionalKeyboard.frame.size.width, 74);
[UIView commitAnimations];
[UIView setAnimationDuration:0];
这是为了设置可选键盘的原始大小和原始 y 位置。它得到了原来的位置,但有两件事使它出错:
1)它显示在标准键盘上方/顶部,所以我们回到隐藏问题,但现在显示时。再次,您可以看到可选键盘从下方遍布整个窗口,直到它到达其原始位置。
2) 属于包含可选键盘的主视图的按钮尺寸变短,就好像它们被压碎了一样。
再次展示键盘以避免此问题的最佳方式是什么?