问题标签 [inputaccessoryview]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
13325 浏览

ios - 在 iOS 8 中更改 inputAccessoryView 的框架

长期潜伏者 - 第一次海报!

我在使用UITextViewWhatsApp 重新创建酒吧时遇到问题。

我正在使用一个自定义UIView子类,并懒惰地实例化它:

- (UIView *)inputAccessoryView

并返回 YES:

- (BOOL)canBecomeFirstResponder

现在,我想在大小增加inputAccessoryView时更改UITextView大小。在 iOS 7 上,我只需更改所述视图框架的大小 - 而不是它的原点 - 然后调用reloadInputViews它就会起作用:视图将向上移动,使其在键盘上方完全可见。

但是,在 iOS 8 上,这不起作用。使其工作的唯一方法是将框架的原点也更改为负值。这很好,除了它会产生一些奇怪的错误:例如,UIView输入任何文本时返回到“原始”框架。

有什么我想念的吗?我很确定 WhatsApp 会使用inputAccessoryView,因为它们在拖动时会关闭键盘 - 仅在最新版本的应用程序中。

如果你能帮助我,请告诉我!或者,如果您希望我进行任何测试!

谢谢!:)

顺便说一句,这是我用来更新自定义 UIView 高度的代码composeBar

编辑:完整的源代码可用@ https://github.com/manuelmenzella/SocketChat-iOS

0 投票
4 回答
5032 浏览

ios8 - InputAccessoryView 在 iOS 8 模拟器上不显示

我从 iOS 5 开始就有 iOS 应用程序,它包括一个自定义 UITextView,它使用自己的 inputView 和 inputAccessoryView。它适用于iOS 7模拟器,当它成为FirstResponse时,inputView和inputAccessoryView都显示,但使用iOS 8模拟器,只有关联的inputView显示,inputAccessoryView不显示。

我正在使用 Xcode 6 GM 种子

HeInput_TextView.m

它是 iOS 8 模拟器中的错误还是 iOS 8 的更改?

编辑:

我找到了有关此问题的更多信息。

此问题发生在基于页面的应用程序中,如果 UIPageViewController 的页面中有 UITextView,则 UITextView.inputAccessoryView 不会在 iOS 8 模拟器中显示,但会在 iOS 7.1 模拟器中显示。

我创建了两个项目:“基于单视图的应用程序”和“基于页面的应用程序”,并确认问题发生如上所述。

0 投票
0 回答
255 浏览

ios - 在 iOS 上,您可以使用 UINavigationController 的 UIToolbar 作为输入附件视图吗?

当我的文本字段成为第一响应者时,我想更改由管理的工具栏中的项目UINavigationController并将其作为 向上滑动到键盘上方inputAccessoryView,但我遇到了这个崩溃:

我必须创建一个单独的 UIToolbarinputAccessoryView吗?是否无法更改项目并将其用于这两个目的?(我可以看到为单独的作业使用单独的工具栏的逻辑,但我也可以看到不创建不必要的工具栏的逻辑。)

0 投票
0 回答
2525 浏览

javascript - 捕获 iOS 完成按钮单击。使用 javascript/jQuery

在 iOS 浏览器表单上,附件栏会显示完成按钮和下一个/上一个按钮以在字段之间移动。我想捕获附件栏上的完成按钮单击事件并执行一些自定义操作。欢迎使用 JQuery/ JQuery 移动解决方案。

我不想使用模糊/聚焦,因为即使点击其他元素也会调用模糊。我想在调用此完成按钮时提交表单,而不是在发生其他操作时提交。

我已经尝试将 keypress 事件与 keycode 13 绑定。但它只捕获用户按下键盘底部的完成/提交键而不是附件栏上的按钮时的事件。

0 投票
1 回答
847 浏览

ios - 添加到 inputAccessoryView 的 UIButton 未检测到触摸

我有一个inputAccessoryView其中包括一个UIButton,但UIButton没有响应水龙头(甚至没有改变它的图像)。我不确定为什么。这是我相当简单的代码:

0 投票
1 回答
343 浏览

ios8 - ViewController canBecomeFirstResponder iOS 8

我有一个 VC,它有一个用于显示文本字段的 inputAccessoryView(很像消息应用程序)。当我将此视图推送到导航堆栈时,一切正常,我的意思是 tableview 调整它的 insets 以确保在该辅助视图下方没有滚动。但是,如果从该视图中推动同一视图控制器类的另一个实例,则不会调整插图,并且表格的滚动将位于辅助视图的后面。

此问题仅在 iOS 8 中出现。另一个有趣的事情是,如果您随后在附件视图中单击以打开键盘,则插入会正确调整以使键盘可见并在隐藏时再次调整。

此外,如果您不单击文本字段来修复问题并回击先前的 VC 也已损坏。

根据上面的信息,我相当确定这是一个 iOS 8 错误。我希望有人已经看到了这一点并提出了半合理的解决方案。

0 投票
1 回答
994 浏览

ios - UITextView inputAccessoryView 与 iOS 8 中的键盘顶部重叠

对于一些 UITextView 字段,我有一个非常普通的 inputAccessoryView 工具栏。上一个、下一个和完成按钮。我将它们放在 UIViewController 类中,然后将它们分配给 UITextFields,如下所示:

这在 iOS 7 中效果很好。在 iOS 8 中,它现在与键盘顶部重叠,如下所示:

ios8中的辅助工具栏与键盘顶部重叠

关于发生了什么变化的任何指示?或者也许将它包装在视图控制器中不是一件好事?

0 投票
6 回答
11061 浏览

ios - 更改 inputAccessoryView 问题的高度

当我在 iOS 8 中更改高度时inputAccessoryView,inputAccessoryView 不会转到正确的原点,而是覆盖键盘。

在此处输入图像描述

以下是一些代码片段:

在表视图控制器中

在评论输入视图中

ios-helpers的 UIView 类别中

0 投票
1 回答
6900 浏览

ios - 如何在 Interface Builder 中使用自动布局创建键盘附件视图?

我想在 Decimal Pad 键盘上添加“完成”按钮和分段控件。理想情况下,我想在 Interface Builder 中使用 Auto Layout 布局键盘附件视图。

这甚至可能吗?我是创建一个新的 XIB 还是可以在现有的 Storyboard 场景中以某种方式进行?如何将附件视图附加到适当的文本字段?

0 投票
1 回答
1586 浏览

ios - 如何将 UILabel 放在键盘的“inputAccessoryView”中?

我能够在键盘的 inputAccessoryView 属性中获得一个按钮(带图像)来工作(cameraButton)。但是,当尝试将 UILabel (cameraLabel) 放在 cameraButton 的右侧时,Xcode 会抛出错误 - “[UILabel view]: unrecognized selector sent to instance 0x7fd66ca31a30”

这是我第一次尝试 inputAccessoryView 并以编程方式创建 UILabel。这是我的代码,我已经在这里和谷歌搜索了几个小时,但找不到我想要实现的相同场景。很感谢任何形式的帮助!:

第一部分:

在 viewDidLoad 方法下(这些是我从各种在线资源中拼凑的东西):