public void SetRowNumber(int row, int cellNum, int dispNum) { cellItemNum = cellNum; cellIndex = row; cellDisplayItemNum = dispNum; // if(dicItems==null){ // dicItems = new Dictionary<int, MoreAppCellItem>(); // } if (dicItems.Count == 0) { return; } // m_rowNumberText.text = "Row " + rowNumber.ToString(); // m_background.color = GetColorForRow(rowNumber); for (int i = 0; i < dicItems.Count; i++) { MoreAppCellItem item = dicItems[i]; // item.itemDelegate = this; item.SetItemIndex(cellIndex * cellItemNum + i); if (i < cellDisplayItemNum) { item.Hide(false); } else { item.Hide(true); } } }
public void AddItem(int idx, MoreAppCellItem item) { if (dicItems == null) { // Debug.Log("MoreAppCell AddItem null"); //dicItems = new Dictionary<int, MoreAppCellItem>(); } dicItems[idx] = item; }
public void UpdateItem(List <ItemInfo> list) { for (int i = 0; i < cellDisplayItemNum; i++) { MoreAppCellItem item = dicItems[i]; int idx = cellIndex * cellItemNum + i; if (idx < list.Count) { ItemInfo info = list[idx]; item.UpdateInfo(info); } } }
public void SetItem(MoreAppCellItem item) { }
//Will be called by the TableView when a cell needs to be created for display public TableViewCell GetCellForRowInTableView(TableView tableView, int row) { MoreAppCell cell = tableView.GetReusableCell(cellPrefab.reuseIdentifier) as MoreAppCell; if (cell == null) { cell = (MoreAppCell)GameObject.Instantiate(cellPrefab); cell.name = "GuankaItemCellInstance_" + (++numInstancesCreated).ToString(); Rect rccell = (cellPrefab.transform as RectTransform).rect; Rect rctable = (tableView.transform as RectTransform).rect; Vector2 sizeCell = (cellPrefab.transform as RectTransform).sizeDelta; Vector2 sizeTable = (tableView.transform as RectTransform).sizeDelta; Vector2 sizeCellNew = sizeCell; sizeCellNew.x = rctable.width; //(cell.transform as RectTransform).sizeDelta = sizeCellNew; cell.SetCellSize(sizeCellNew); //Debug.LogFormat("TableView Cell Add Item:rcell:{0}, sizeCell:{1},rctable:{2},sizeTable:{3}", rccell, sizeCell, rctable, sizeTable); //oneCellNum = (int)(rctable.width / rccell.height); //int i =0; for (int i = 0; i < oneCellNum; i++) { // GameObject obj = (GameObject)Resources.Load("Prefab/MoreApp/MoreAppCellItem"); // MoreAppCellItem item = obj.GetComponent<MoreAppCellItem>(); MoreAppCellItem item = cellItemPrefab; item = (MoreAppCellItem)GameObject.Instantiate(item); Rect rcItem = (item.transform as RectTransform).rect; item.transform.SetParent(cell.transform, false); item.index = row * oneCellNum + i; // LayoutElement layoutElement = item.GetComponent<LayoutElement>(); // if (layoutElement == null) { // layoutElement = item.gameObject.AddComponent<LayoutElement>(); // } // layoutElement.preferredWidth =160;// GetHeightForRowInTableView(tableView,row); // item.transform.SetSiblingIndex(1); RectTransform rectTransform = item.GetComponent <RectTransform>(); //RectTransform rectTransform = item.transform as RectTransform; // Vector2 size = rectTransform.sizeDelta * scaleUI; Vector3 pos = new Vector3(rcItem.width * i, 0, 0); // rectTransform.position = pos; rectTransform.anchoredPosition = pos; cell.AddItem(i, item); Vector2 sizeItem = (item.transform as RectTransform).sizeDelta; //Debug.LogFormat("TableView Item:rcItem:{0}, sizeItem:{1},rectTransform.position:{2}", rcItem, sizeItem, rectTransform.position); rcItem.x = 0; rcItem.y = 0; // (item.transform as RectTransform).rect = rcItem; } } int cellNumCur = oneCellNum; if (row == GetNumberOfRowsForTableView(tableView) - 1) { cellNumCur = listAppMore.Count - (GetNumberOfRowsForTableView(tableView) - 1) * oneCellNum; } cell.SetRowNumber(row, oneCellNum, cellNumCur); cell.UpdateItem(listAppMore); return(cell); }