我使用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);
    }

10-04 12:48