iOS编辑tableview隐藏单元格中的子视图

Eva*_*son 3 iphone uitableview ios

我有一个关于编辑UITableView的问题.我想知道如何在点击删除控件并显示删除按钮时隐藏子视图.我已经想出了如何在点击删除按钮时隐藏子视图,但为时已晚.我使用以下代码来实现:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
exerciseDate = (UILabel *)[cell viewWithTag:8989];
exerciseDate.hidden = YES;
Run Code Online (Sandbox Code Playgroud)

正如您在下面的屏幕截图中看到的,文本'Today'和'Yesterday'是每个单元格的子视图.我想隐藏这个子视图,当点击删除控件(左边的红色圆形按钮)并出现删除按钮时(屏幕截图2).我是否需要为删除控件设置监听器?如果是这样,我该怎么做?

先感谢您!

屏幕截图1 屏幕截图2

bsh*_*ley 6

你问题的答案就是答案,然后就是我认为你真的想要做但却不知道的事情.

您要求的内容:子类UITableViewCell并使用新的子类.在课堂上实现这个:

- (void) setEditing:(BOOL)editing animated:(BOOL)animated 
{
    [super setEditing:editing animated:animated];
    UILabel *label = (UILabel *)[self viewWithTag:3]; // whatever you tag the label as
    label.hidden = editing;
}
Run Code Online (Sandbox Code Playgroud)

我建议您做的如下:如果您创建了单元格InterfaceBuilder(或Xcode4的版本),请更改label右侧的大小调整行为.您希望它锚定在右侧(默认为左侧).然后当单元格resizes的内容适合那里的默认按钮时,它会将"Today"标签推到左边.