 <p>well, i don't quite understand why your button don't respond, because i've came across similar problems but i've used different solutions. here's what i've done:</p> <pre><code>CGRect reuseableRect = CGRectMake(20, 290, 260, 37); self.actionButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; self.actionButton.frame = reuseableRect; [self.actionButton setTitle:@"Initialize" forState:UIControlStateNormal]; [self.actionButton addTarget:nil action:@selector(performAction) forControlEvents:UIControlEventTouchUpInside]; [self addSubview:self.actionButton]; </code></pre> <p>Actually, i did this :</p> <pre><code>self.actionButton = [[UIButton alloc] initWithFrame:reuseableRect]; </code></pre> <p>but it didn't work. so i changed it into </p> <pre><code>self.actionButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; </code></pre> <p>the resueableRect is just a CGRect that I've used all through the view initialization.</p> <p>as for the three lines of your previous solution, the first one:</p> <pre><code>[self setSelectionStyle:UITableViewCellSelectionStyleNone]; </code></pre> <p>it's doing some configurations to the tableView and its cells, so it's not going to affect the button</p> <p>the second one:</p> <pre><code>cell.userInteractionEnabled = NO; </code></pre> <p>it's not configuring the button as well, what's more, since the cell is the super view of the button, this line prevents any user interactions.</p> <p>the third one is not doing anything to the button as well, so i recommend that you delete all of them if you were thinking about configuring the button</p>