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