iOS6的UITableViewCell 子視圖(subviews)的容器是UITableViewCellContentView
iOS7的UITableViewCell 子視圖(subviews)的容器是UITableViewCellScrollView
由於iOS7中添加了滑動後出現編輯按鈕的操作,所以使用scrollView來處理,UITableViewCellScrollView有對觸摸的相應處理,導致按鈕的點擊效果被屏蔽了。
1.設置tableView.delaysContentTouches = NO;
2.同時在(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath代理方法中對scrollview把延遲觸摸設置爲NO即可
for (id obj in cell.subviews) {
if ([NSStringFromClass([obj class])isEqualToString:@"UITableViewCellScrollView"]){
UIScrollView *scroll = (UIScrollView *) obj;
scroll.delaysContentTouches = NO;
break;
}
}
不過,暫時沒發現方法2的好處,似乎只要寫方法1就可以控制了···