2010-06-07 59 views

回答

28

實現數據源the -tableView:canEditRowAtIndexPath: method。對於這些行,返回NO

+1

謝謝。但我希望某些行(可以移動的所有行)可以移動而不是刪除(某些行被禁用了刪除功能,其他行被啓用),這可能嗎? – arachide 2010-06-07 08:23:02

+0

@user:使用'-tableView:canMoveRowAtIndexPath:'來移動。 – kennytm 2010-06-07 08:46:07

+2

謝謝。我用 - (BOOL)tableView:(UITableView *)tableview canMoveRowAtIndexPath :(NSIndexPath *)indexPath { \t \t return YES; \t } - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath; { \t NSInteger row = [indexPath row]; \t int vv = [[myArray objectAtIndex:row] isEditable];; \t if(!vv) \t { \t return NO; \t} \t其他 \t { \t \t返回YES; \t \t \t} } 但它似乎不可能同時設置單元格「啓用移動」和「禁用刪除」。 – arachide 2010-06-09 00:01:04

8

使用canEditRowAtIndexPath將不允許該行與分組樣式中的其他單元格對齊。這看起來很糟糕。

我用UITableViewCellEditingStyleNone,對於您不希望顯示的編輯控件(減/加號按鈕)的行,完全把這個在您的

(UITableViewCellEditingStyle) tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{} 
9

這篇文章概括起來講, Is there any way to hide "-" (Delete) button while editing UITableView

如果你不想閱讀帖子的要點是你不想刪除,但要允許招行的行:設置編輯樣式行UITableViewCellEditingStyleNone

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    return UITableViewCellEditingStyleNone; 
} 
1

根據你的問題,我知道你只想隱藏刪除按鈕不會出現在第一行。請將表格編輯設置爲是,並添加以下代碼

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { 

    if(indexPath.row==0) 
    { 
     return NO; 
    } 
    return YES; 
} 
+0

這個工程,但也會禁用移動行。如果要允許單元格移動,並禁用@Youyou提供的禁用刪除按鈕解決方案,並且AlexC的http://support.microsoft.com/kb/2281394/uitableview-editable-rearrangeable-without-cells-beeing-deletable/2281456#2281456更好的選擇。 – CuriousDev 2016-11-27 07:22:40

相關問題