UITableView上button的點擊事件(一)

  在UITableView中添加button,button點擊改變背景圖片時,發現按下時間短的話,無法改變背景圖片,經過一番奮鬥,終於找到了原因。
  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就可以控制了···

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章