比如说,我想编辑突出显示状态的标题,这可能吗?
我知道可以使用自定义UIButtons
,但是是否可以编辑UITableViewCellAccessoryDetailDisclosureButton
的属性?
如果没有,是否可以创建自定义按钮并仍然调用UITableView
委托方法?
如果是这样,如何从自定义按钮单元格中传递indexPath
?
干杯!
答案 0 :(得分:1)
提供您的自定义button.tag=indexPath.row
并访问第行。来自按钮标签
例如: -
UIButton *deleteButton = [UIButton buttonWithType:UIButtonTypeCustom];
[deleteButton setFrame:CGRectMake(285, 5, 30, 30)];
deleteButton.contentMode = UIViewContentModeScaleAspectFill;
UIImage *newImage12 = [UIImage imageNamed:@"x.png"];
deleteButton.tag = indexPath.row;
[deleteButton setBackgroundImage:newImage12 forState:UIControlStateNormal];
[deleteButton setBackgroundImage:newImage12 forState:UIControlStateHighlighted];
[deleteButton addTarget:self action:@selector(deleteRemindersMethod:) forControlEvents:UIControlEventTouchUpInside];
[cell.contentView addSubview:deleteButton];
-(void)deleteRemindersMethod:(UIButton *)sender
{
int rowNO=sender.tag;
}
答案 1 :(得分:1)
据我所知,您必须将自己的按钮设置为附件视图。有几种方法可以获取indexPath,我首选的是使用locationInView:
获取触摸坐标,然后使用indexPathForRowAtPoint:
获取所需的实际indexPath
:
CGPoint location = [sender locationInView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:location];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
(代码取自here)
答案 2 :(得分:1)
您可以创建自定义UIButton
并将其分配给单元格的accessoryView
属性。
如果你想做某事真正自定义突出显示的单元格状态,您应该考虑子类化UITableViewCell
并覆盖setSelected:animated: