2013-07-01 156 views
0

我有一個表格視圖,它的每個單元格的寬度都是1024px,所以我的要求是在單擊一個單元格後,tableview的寬度將在邏輯上發生變化。而我的表格視圖有點複雜。 每個單元格都包含一個在另一個類中定義的自定義視圖。請幫助我..如何動態更改Tableview的自定義單元格寬度?

+0

場景1:爲什麼不重新加載tableview並在運行時應用檢查哪個視圖爲特定單元格分配 – yunas

回答

1

我不相信有一種方法來修改單個單元格的寬度而不改變表格視圖的寬度,只有使用tableView:heightForRowAtIndexPath:的高度。

因此,您可能需要更改單元格內自定義視圖的寬度。

首先,要獲得有問題的單元格,請在需要的任意位置調用cellForRowAtIndexPath:桌面視圖(如果要更改水龍頭的寬度,那可能會在您的tableView:didSelectRowAtIndexPath:中)。

要訪問您的自定義視圖,您可以通過在創建單元格或故事板時設置自定義視圖的tag屬性,爲UITableViewCell內部的自定義視圖提供標籤編號。然後,在UITableViewCell實例上調用viewWithTag:以獲取自定義視圖,並修改其屬性的width

另一種可能更合適的選擇是使用定製的UITableViewCell類作爲表格視圖單元格。這意味着繼承UITableViewCell併爲您的自定義視圖創建屬性,這將允許您通過獲取方訪問自定義子視圖,然後更改其屬性frame

如果您需要自定義視圖的容器的寬度改變(這是目前你的細胞),只需嵌入UIView內的自定義視圖和修改的UIView的寬度,而不是UITableViewCell的情況下以同樣的方式如上所述。

相關問題