您的位置:首页 > 产品设计 > UI/UE

NGUI 的ScrollView如何让item居中

2015-06-19 09:16 302 查看
ScrollView提供了相当好的滑动功能,滑动的多少是基于用户触摸,其没有提供方向键的控制,常常无法居中或者高亮一个物体。那如何可以居中某个物体呢?

其实NGUI提供了一个脚本,UICenterOnChild,故名思义,其应该就是讲Scrollview上的Item居中的,其思想和算法也很简单,详见其函数

/// <summary>
/// Center the panel on the specified target.
/// </summary>
public void CenterOn (Transform target)
{
if (mScrollView != null && mScrollView.panel != null)
{
Vector3[] corners = mScrollView.panel.worldCorners;
// 获取Panel的中心位置
Vector3 panelCenter = (corners[2] + corners[0]) * 0.5f;
//将需要居中的物体放在Pancel的中心位置
CenterOn(target, panelCenter);
}
}


如果我们需要居中ScrollView中的某个物体,只需要调用该函数就可以了。 如果需要增加方向键的支持,我们自己需要维护item子物体的位置信息, 然后调用该函数就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: