我在 textView 的 inputAccessoryView 属性中使用工具栏。当键盘显示时,它会按预期显示工具栏。当设备旋转时,我想删除工具栏。我试过了:
myTextView.inputAccessoryView.hidden = !layoutIsPortrait;
这确实隐藏了工具栏,但留下了较高键盘的轮廓。键盘的大小显然仍然适合工具栏。它看起来很糟糕,并且会干扰底层响应者的触摸事件。
myTextView.inputAccessoryView = nil;
仅当我辞职FirstResponder,然后再次成为FirstResponder 时才有效。这是不可接受的。我失去了 textView 的光标位置和内容,键盘闪烁并返回。
[myTextView.inputAccessoryView removefromSuperview];
什么都不做。我在 iVar 中保存了对工具栏的引用并解决了这个问题,
[myIvarReference removeFromSuperview];
这行得通,但键盘的较高轮廓再次隐约可见。这一次它不干涉其他观点的接触。所以现在这是一个可行的解决方案,但在视觉上是不可接受的。我还能尝试随意显示和隐藏 inputAccessoryView 吗?
屏幕截图 - 键盘上方的微弱线条是已删除工具栏的残余