【问题标题】:Unable to scroll in Scroll rect with input fields Unity无法在带有输入字段 Unity 的 Scroll rect 中滚动
【发布时间】:2016-12-17 12:04:05
【问题描述】:

我有一个让我发疯的问题。我创建了一个统一的scroll rect,其中有很多Input Field,如下图所示。

我的问题是:我无法滚动!!!每次我尝试时,它都会打开键盘。只要我点击Input field之间的红色空格,就可以滚动它。

我认为问题是因为键盘出现在OnPointerDown 而不是OnPointerUpOnPointerClick。我尝试将EventTrigger 组件添加到InputField 并为OnPointerDownOnPointerUp 添加操作,但我没有成功更改键盘行为。

有什么帮助吗?有任何想法吗?请!非常感谢!

【问题讨论】:

  • 嗯,我有点确定,一定有一种不那么老套的方式,但我想你可以在输入字段的顶部创建一个不可见的区域/图像,并在该区域/对象的情况下进行跟踪/image 滚动的距离/如果有的话。如果滚动低于一定距离,您可以决定“嘿,这实际上应该进入输入字段”并调用输入字段事件..我猜? =)

标签: c# unity3d keyboard input-field scrollrect


【解决方案1】:

您可以创建 Button 并将 InputField 附加为它的子级,然后:

  1. 添加按钮OnClick事件InputField.Select()
  2. 为 InputField、占位符和文本禁用 Raycast Target

要隐藏按钮,您可以使其透明。

【讨论】:

  • 我已经尝试过这种方法,但它似乎不起作用。当我点击按钮时,它确实调用了 inputField.Select(),但同时我不能再滚动了。如果我在此按钮内禁用 Raycast 目标,我将无法再单击它,所以它没有意义。
猜你喜欢
  • 2017-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多