gpt4 book ai didi

iphone - 如何在不关闭键盘的情况下隐藏 inputAccessoryView

转载 作者:技术小花猫 更新时间:2023-10-29 10:29:43 25 4
gpt4 key购买 nike

我在 textView 的 inputAccessoryView 属性中使用工具栏。当键盘显示时,它会按预期显示工具栏。旋转设备时,我想删除工具栏。我试过:

 myTextView.inputAccessoryView.hidden = !layoutIsPortrait;

这确实隐藏了工具栏,但留下了较高键盘的轮廓。键盘的大小显然仍然适合工具栏。它看起来很糟糕并且会干扰底层响应者的触摸事件。

 myTextView.inputAccessoryView = nil;

仅当我 resignFirstResponder,然后再次成为 FirstResponder 时才有效。这是 Not Acceptable 。我丢失了 TextView 的光标位置和内容,键盘闪烁并返回。

[myTextView.inputAccessoryView removefromSuperview];

什么都不做。我在 iVar 中保存了对工具栏的引用并改为解决了这个问题,

[myIvarReference removeFromSuperview];

这行得通,但键盘的较高轮廓再次隐约可见。这次它不会干扰其他 View 的触摸。所以现在这是一个可行的解决方案,但在视觉上是 Not Acceptable 。我还能尝试什么来随意显示和隐藏 inputAccessoryView?

屏幕截图 - 键盘上方的微弱线条是已删除工具栏的残余

Rotated keyboard with toolbar removed

最佳答案

myTextView.inputAccessoryView = nil;
[myTextView reloadInputViews];

这将从 View 中删除工具栏并重新加载 View 。这样您就不需要调用 resignFirstResponder 和 becomeFirstResponder。此外,这仍将保留您的光标位置和内容。

关于iphone - 如何在不关闭键盘的情况下隐藏 inputAccessoryView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12572649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com