- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier from:(UITableView*)table
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
self.tableView = table;
[self createUI];
}
return self;
}
- (void)createUI
{
self.backgroundColor = [UIColor purpleColor];
self.textLabel.font = [UIFont systemFontOfSize:50.0f];
UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = (CGRect){0,0,60,40};
button.backgroundColor = [UIColor whiteColor];
[button addTarget:self action:@selector(clickAction:event:) forControlEvents:UIControlEventTouchUpInside];
self.accessoryView = button;
}
- (void)clickAction:(UIButton*)sender event:(id)event
{
NSSet * touches = [event allTouches];
UITouch * touch = [touches anyObject];
CGPoint currentTouchPosition = [touch locationInView:self.tableView];
NSIndexPath * indexPath = [self.tableView indexPathForRowAtPoint:currentTouchPosition];
if (indexPath != nil) {
NSLog(@"%@",indexPath);
}
}
关键代码 要将table传入cell里面 还有一句 indexPathForRowAtPoint: