如何更改uitableview删除按钮文本

时间:2011-09-12 22:56:28

标签: iphone ios uitableview delegates

您好我正在尝试更改当用户在我的tableview中刷一个uitableviewcell时在删除按钮中显示的文本。

我在另一个问题帖子中看到了一个例子,说明要使用这个tableview委托

- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath

我的问题是,我该如何使用这种方法..我不知道如何使用它。

4 个答案:

答案 0 :(得分:194)

在管理UITableView的控制器中,您应该实现UITableviewDelegate并在titleForDeleteConfirmationButtonForRowAtIndexPath方法中为您的方法返回所需的标题。

示例:

@interface CategoryAddViewController : UITableViewController
@end

@implementation CategoryAddViewController
// ...
-(NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath {
return @"Please don't delete me!";
}

@end

让你离开这样的事情:

enter image description here

答案 1 :(得分:29)

在Swift中它是平等的,只是方法签名是不同的!

func tableView(tableView: UITableView, titleForDeleteConfirmationButtonForRowAtIndexPath indexPath: NSIndexPath) -> String? {
  return "Erase"
}

答案 2 :(得分:4)

只需返回要显示的字符串而不是删除。假设您希望为所有行显示“擦除”,则上述功能应包含:

return @"Erase";

阅读THIS

同样在.h文件中,添加UITableViewDelegate以防视图控制器不是UITableViewController。也就是说,它可以是:

@interface SomeView : UIViewController <UITableViewDelegate>

OR

@interface SomeView : UITableViewController

答案 3 :(得分:0)

迅速4.2

override func tableView(_ tableView: UITableView, titleForDeleteConfirmationButtonForRowAt indexPath: IndexPath) -> String? {
        return "Erase"
    }