Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 子类UITableViewCell,使删除按钮不显示_Iphone_Objective C_Ios - Fatal编程技术网

Iphone 子类UITableViewCell,使删除按钮不显示

Iphone 子类UITableViewCell,使删除按钮不显示,iphone,objective-c,ios,Iphone,Objective C,Ios,我试图模仿联系人应用程序中可编辑表格单元格的行为。我已经对UITableViewCell进行了子类化,添加了我自己的UITextField,并设置了一些行为,在这些行为中,如果按下edit,标签将被隐藏,我的textfield将被启用并显示,反之亦然。那部分很好用 我不希望我的用户能够删除行,但我很难找到在哪里/如何禁用和隐藏单元格左侧的删除按钮。任何建议都将不胜感激。单击-按钮时,您无法覆盖调用的方法。但您可以通过检查表的当前模式来检测是否处于编辑模式。 所以你要做的就是保留你自己的custo

我试图模仿联系人应用程序中可编辑表格单元格的行为。我已经对UITableViewCell进行了子类化,添加了我自己的UITextField,并设置了一些行为,在这些行为中,如果按下edit,标签将被隐藏,我的textfield将被启用并显示,反之亦然。那部分很好用


我不希望我的用户能够删除行,但我很难找到在哪里/如何禁用和隐藏单元格左侧的删除按钮。任何建议都将不胜感激。

单击-按钮时,您无法覆盖调用的方法。但您可以通过检查表的当前模式来检测是否处于编辑模式。 所以你要做的就是保留你自己的custon按钮,点击它你可以设置你想做的任何事情,它也不会显示delete按钮。。正是你想要的:D


hAPPY iCODING…

Chuck当您单击-按钮时,无法覆盖调用的方法。但您可以通过检查表的当前模式来检测其是否处于编辑模式。 所以你要做的就是保留你自己的custon按钮,点击它你可以设置你想做的任何事情,它也不会显示delete按钮。。正是你想要的:D


快乐的图标…

我应该更清楚。我希望“编辑”按钮可以隐藏和显示单元格中的各种内容,但不希望“删除”按钮显示

我发现,对我不希望删除的单元格执行以下操作是有效的:

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

按下“编辑”时,视图仍然向右滑动,并且我的单元格进入编辑模式,但删除按钮不见了。

我应该更清楚一些。我希望“编辑”按钮可以隐藏和显示单元格中的各种内容,但不希望“删除”按钮显示

我发现,对我不希望删除的单元格执行以下操作是有效的:

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return UITableViewCellEditingStyleNone;
}
按下“编辑”按钮时,视图仍向右滑动,我的单元格进入编辑模式,但删除按钮不见了。

不太一样,但我想要的是,如果单元格可以删除,则显示删除按钮,如果不能,则弹出警报,向用户解释无法删除的原因

我发现这很棘手,因为当一个单元格不被删除时,我可以禁用删除按钮,这也意味着右击不会调用任何我可以用来触发警报的操作

所以我要做的是,通过从tableView:CaneditRowatineXpath返回YES,允许删除所有单元格,然后使用以下代码:

弹出警报,然后

使删除按钮在用户可以点击之前被删除

// This will be called when the user dismisses the alert.
//
(void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    [self.tableView setEditing:NO animated:YES];
}

(void) tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath {
    Item *item = [self itemForIndexPath:indexPath];

    if ([item canNotBeDeleted] == YES) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Item in use."
                                                        message:@"Sorry but you can't delete a grocery item that has been included in a shopping list."
                                                       delegate:self
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];
        [alert show];
    }
}
不完全一样,但我想要的是,如果一个单元格可以被删除,则显示delete按钮,如果不能,则弹出一个警报,向用户解释为什么它不能被删除

我发现这很棘手,因为当一个单元格不被删除时,我可以禁用删除按钮,这也意味着右击不会调用任何我可以用来触发警报的操作

所以我要做的是,通过从tableView:CaneditRowatineXpath返回YES,允许删除所有单元格,然后使用以下代码:

弹出警报,然后

使删除按钮在用户可以点击之前被删除

// This will be called when the user dismisses the alert.
//
(void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    [self.tableView setEditing:NO animated:YES];
}

(void) tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath {
    Item *item = [self itemForIndexPath:indexPath];

    if ([item canNotBeDeleted] == YES) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Item in use."
                                                        message:@"Sorry but you can't delete a grocery item that has been included in a shopping list."
                                                       delegate:self
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];
        [alert show];
    }
}

我使用[self.tableView setEditing:否动画:是];它对我有用。它并没有在左边显示删除按钮。但是chuck想要左边的按钮@Raxit。但是be不希望在单击左按钮时出现删除按钮我使用[self.tableView setEditing:NO animated:YES];它对我有用。它并没有在左边显示删除按钮。但是chuck想要左边的按钮@Raxit。但是be不希望在单击左按钮时出现删除按钮我发现在编辑rowatindexpath:nsindepath*indepath{return NO;}时应该使用-BOOLtableView:UITableView*tableView同时停止分组表视图上的缩进。我发现使用-BOOLtableView:UITableView*tableView应该在EditingRowatindexpath:NSIndexPath*indexPath{return NO;}时同时停止分组表视图上的缩进。