2012-05-27 40 views
1

我知道這個問題之前已被問過,但沒有人真正回答過它。更改靜態表像Iphone上的聯繫人應用程序視圖

我正在嘗試使用右上角的靜態表格視圖和完成/編輯按鈕製作應用程序。當它處於一種狀態時,我需要能夠隱藏一個單元格,並在它處於另一個狀態時顯示該單元格。此外,我需要能夠添加單元格時,用戶選擇的東西。我已經準備好佈置以檢測完成/編輯按鈕的更改。

所以基本上我的問題是:如何讓用戶按下按鈕時使表格視圖顯示單元格,並在用戶再次按下時隱藏它。

以及如何通過代碼添加靜態單元。

謝謝!

+0

靜態tableviews是...靜態....你不能添加/刪除行(雖然你可以排序:你可以通過設置其隱藏屬性爲yes並將行高設置爲0來隱藏它們。)使用正如@conradShultz所描述的那樣,動態表將是更好的路線。 – lnafziger

+0

所以...接受答案? –

回答

1

我還沒有真正看過iOS 5中的靜態表格的東西,因爲我相信需要故事板,我不使用它。

但是,使用經典分組UITableView可以輕鬆完成此操作。在您的UITableViewDataSource方法中,僅基於編輯狀態返回不同的結果。如果您使用的是UITableView的字面editing模式中,你可以做類似如下(警告:在瀏覽器中鍵入):

– (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    if ([tableView isEditing]) { 
     // Return number of sections when editing 
    } 
    else { 
     // Return number of sections when not editing 
    } 
} 

– (NSInteger)tableView:(UITableView *)tableView 
numberOfRowsInSection:(NSInteger)section 
{ 
    if ([tableView isEditing]) { 
     // Return number of rows in section when editing 
    } 
    else { 
     // Return number of rows in section when not editing 
    } 
} 

// etc. 

我不記得-setEditing:過渡是否處理動畫給你,但如果它那麼您不會使用-insertRowsAtIndexPaths:withRowAnimation:和相關方法來通知表格視圖,行數,部分等已經改變,並且它應該動畫到新的佈局。最後,如果您要添加/刪除多行/部分,您可能會一如既往地將自己的作品包裝在一對-beginUpdates/-endUpdates中,以便動畫全部合併。

相關問題