2009-07-19 62 views
1

嘿,我們有一個UITableView,我們有(顯然)很多UITableViewCells。我們需要實施一項行動,以便當用戶觸及細胞時,細胞會增長並顯示更多信息。如果用戶再次觸摸該單元格,則會調整爲原始大小。iphone開發:動態調整大小UITableView

我們可以通過改變細胞的這樣的框架的高度來實現這一點:

CGRect newFrameTemp = self.frame; 
newFrameTemp.size.height +=textHeight; 
self.frame = newFrameTemp; 

,也將所有其他細胞textHeight像素下來。 (並且還改變了桌子本身的尺寸)

這似乎是有效的,只是'觸摸'事件並沒有與細胞一起移動,所以如果我想觸摸下一個細胞,我實際上需要觸摸我們剛剛'打開'的細胞中間

我們做錯了什麼線索?

回答

1

也許嘗試使用UITableViewDelegate的方法來調整高度:

– tableView:heightForRowAtIndexPath: 

http://developer.apple.com/iphone/library/documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/UITableViewDelegate

這可能會適當調整嚴重的地區爲您服務。

編輯:我只是碰到這種鏈接,這可能是相關的跑: http://www.cimgf.com/2009/09/23/uitableviewcell-dynamic-height/

+0

嘿本,我們實際上做了嘗試,並沒有奏效,但我們將再次嘗試.. – 2009-07-20 05:50:56