我使用Unity 5.1为手机游戏建立了注册表。
为此,我使用 Unity UI 组件:ScrollRect +自动布局(垂直布局)+文本(标签)+输入字段。
这部分工作正常。
但是,当打开键盘时,所选字段位于键盘下。有没有一种方法可以通过编程方式滚动窗体以使所选字段可见?
我尝试使用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);
}