2012-07-10 65 views
1

我試圖顯示和隱藏子視圖時,UITableview處於編輯模式而它顯示刪除按鈕(整個編輯和刪除過程,而不僅僅是編輯),然後當它回到正常模式時使其消失。willTransitionToState沒有被調用(UITableview)

我真的很接近我想要的方式,但每次單擊單元格中的「刪除」按鈕時,它都會使我的視圖消失,當我不希望它消失到用戶完全退出編輯模式。

我試圖使用委託方法- (void)willTransitionToState:(UITableViewCellStateMask)state但我發現了一個錯誤,當我打電話super

- (void)willTransitionToState:(UITableViewCellStateMask)state { 

    [super willTransitionToState:state]; 

    if ((state & UITableViewCellStateShowingEditControlMask)) { 
     clear.alpha = 1.0; 
    } 
} 

的錯誤是常見的一種,但我似乎無法找到一個解決方案:

爲 '的UITableViewController' 不可見@interface聲明 選擇 'willTransitionToState:'

如果我不叫超級,我不會得到這個錯誤,但是這個方法也不會被調用。

我也嘗試使用setEditing,但是當刪除按鈕被點擊,刪除單元格,但仍處於編輯模式,我想在整個編輯過程中保持可見查看/刪除程序消失

+0

我在'numberOfRowsInSection中設置了我的視圖的alpha屬性,導致了消失問題,但我仍然不知道爲什麼willTransitionToState沒有被調用。 – jhilgert00 2012-07-10 16:19:36

回答

1

您需要在自定義表格視圖單元格中調用該方法(willTransitionToState :)。它不是在UITableViewController類中識別的方法。如果您在.m文件中調用willTransitionToState:如果您的自定義tableview單元類,它應該工作。只要確保單元類具有「明確」定義的IVAR(根據您提供的代碼,您似乎擁有這個IVAR)。如果您想要執行某些操作,例如防止單元格在編輯時縮進內容,請查看layoutSubviews方法。

1

willTransitionToStateUITableViewCell上的方法,不在UITableViewController上。