我使用 Unity 5.1 为手机游戏构建了一个注册表单。
为此,我使用 Unity UI 组件:ScrollRect + Autolayout(垂直布局)+ Text(标签)+ Input Field。
这部分工作正常。
但是,当键盘打开时,所选字段位于键盘下方。有没有办法以编程方式滚动表单以显示所选字段?
我试过使用 ScrollRect.verticalNormalizedPosition
滚动一些可以正常工作,但是我无法使选定的字段出现在我想要的位置。
谢谢你的帮助 !
最佳答案
我会给你一个我的代码片段,因为我觉得很有帮助。希望这可以帮助!
protected ScrollRect scrollRect;
protected RectTransform contentPanel;
public void SnapTo(RectTransform target)
{
Canvas.ForceUpdateCanvases();
contentPanel.anchoredPosition =
(Vector2)scrollRect.transform.InverseTransformPoint(contentPanel.position)
- (Vector2)scrollRect.transform.InverseTransformPoint(target.position);
}
关于user-interface - 如何使用 Unity UI 滚动到 ScrollRect 中的特定元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30766020/