2012-08-23 22 views
1

我正在使用UITableView,并且希望支持Apple提供的标准编辑工具。到目前为止,我可以在单元格上滑动以显示“删除”按钮,然后点击右上角的“编辑”按钮以进入多行编辑模式。这工作正常。UITableView区分滑动删除和多行选择

问题是,我希望我的tableView的行为与邮件应用程序一样,当用滑动手势进入编辑模式时,“除了显示删除按钮之外别无它物”,并且“显示垃圾桶按钮(任何位置)“时进入多行编辑模式。我不知道如何知道我在哪个编辑模式...

例如,我添加了setEditing方法,其中我隐藏标签栏(只是为了检查我的表的行为) :

-(void)setEditing:(BOOL)editing animated:(BOOL)animated 
{ 

    self.tableView.allowsMultipleSelectionDuringEditing = editing; 
    [super setEditing:editing animated:animated]; 

    if (editing) { 

     self.tabBarController.tabBar.hidden = YES; 

    } else { 

     self.tabBarController.tabBar.hidden = NO; 
    } 

} 

现在,当我刷上的细胞,或者当我打的编辑按钮,标签栏被隐藏,并回到正常之后。我只想在编辑按钮时隐藏它。

我该在哪里以及如何做到这一点?

谢谢。

回答

0

为什么不把发件人交给编辑方法,像这样?

-(void)setEditing:(BOOL)editing animated:(BOOL)animated sender:(id)sender 
{ 

    self.tableView.allowsMultipleSelectionDuringEditing = editing; 
    [super setEditing:editing animated:animated]; 
    if (editing && [sender isKindOfClass:[UIButton class]]) 
    { 
     self.tabBarController.tabBar.hidden = YES; 
    } 
    else 
    { 
     self.tabBarController.tabBar.hidden = NO; 
    } 

} 
+0

它改变了整个编辑模式的行为!在我的故事板中,我的tableView在编辑时只允许单个选择,因为这是我可以同时进行滑动和多行编辑的唯一方法。当我点击编辑按钮时,我无法再选择多行。它现在在单元格的左侧显示一个红色按钮,然后在单击时显示单元格上的删除按钮......毫无疑问,因为'setEditing'不再被调用。顺便说一句,我不手动调用'setEditing',所以我想添加发件人使我的表的方法“未知”,对不对?我应该在什么地方自称吗? – rdurand

+0

并且非常感谢你的回答,永远赞赏:) – rdurand