Unity UI控件用法汇总

利用LoopListView实现Banner循环列表,且默认中间节点为默认节点:

  1.给ScrollRect节点添加LoopListView组件,并勾选ItemSnapEnable为true。
  2.通过LoopListView.InitListView初始化时,totalCount需要传-1.
  3.OnGetItemByIndex的回调参数index以(Int32.MinValue,Int32.MaxValue),需要自己做好与数据的索引换算。
  4.左右拖动的列表下,一般集成通过GridLayoutGroup冲纠正节点往上偏移一半问题,但snap跟GridLayoutGroup冲突,所以通过StartPosOffset纠正节点位置。可以在创建Item时就设置。
(如果是上下拖动的列表,那么StartPosOffset就是x偏移值。)
  5.getCurSnapNearestItemIndex没变,不会触发_onSnapNearestChanged,如果通过初始化时隐藏select节点且在_onSnapNearestChanged触发select逻辑,需要自己数据更新RefreshAllShownItem后或重新进入界面重进onEnter触发一下  MoveToItemIndex。
  6.有些项目,界面关闭onExit清理节点但是界面未销毁,且界面重进onEnter不重建LoopListView的话,需要程序在onEneter时重新创建元素节点,所以本人实现时onExit清理元素节点,在销毁时才清理+释放。
  7.如题,打开界面需要选中第一个元素,但是默认会以第二个显示,MoveToItemIndex和SetSnapTargetItemIndex后是通过update渐变改变位置,需要通过loopListView:FinishSnapImmediately()立即刷新节点的snap后的位置。

posted @ 2024-09-18 20:30  昂流  阅读(34)  评论(0编辑  收藏  举报
//替换成自己路径的js文件 hhttp(s)://static.tctip.com/tctip-1.0.4.min.js