2012-11-22 99 views
1

我點擊它時也需要展開一個UITableView單元格(同樣也是動畫)。但是我不知道被竊聽的細胞,我在這裏看到了答案:Can you animate a height change on a UITableViewCell when selected?擴展UITableViewCell點擊?

這似乎是一個非常受歡迎的答案,不僅僅是在問題中。但是,我需要獲得細胞,那麼如何在heightForRowAtIndexPath方法中獲得細胞?

因爲我已經試過這樣:

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 

然而在heightForRowAtIndexPath方法使用這個崩潰的應用程序,因爲它得到一個無限循環,我認爲抓住了它第一次運行時(視圖負載時)。

反正如果我是採取這種方法,你會如何建議我解決此問題得到什麼?我需要訪問單元格。或者你會怎樣擴展你的tableview單元格(動畫)?

任何幫助總是讚賞,感謝。

+0

您可以使用自定義'具有用於覆蓋UITableViewCell'子'的setSelected:動畫:'和'setHighlighted:動畫:'執行的動畫,而不是觸發或喚起注意計算方法內執行呢?就我所知,'setHighlighted:animated:'帶有highlight = YES只在單元格被輕敲時被調用,所以如果你重寫它並且不調用'super'實現,它可能是一個有用的鉤子您的點播動畫。 – warrenm

回答

0

進行調節高度的你。

我建議試圖得到儘可能多的,你可以從他們已經在過去的工作很適合我在自動口罩。

如果您需要更細粒度的控件,您可以創建子類並覆蓋setFrame:方法以找出幀何時正在改變大小,然後在那裏適當地設置動畫。