在UITableView自定義Cell中,如果有一個點擊區(qū)域,點擊后跳轉(zhuǎn)到詳情,點擊區(qū)域有正常狀態(tài)和高亮狀態(tài),這個時候如果采用UIButton,設(shè)置正常狀態(tài)和高亮狀態(tài)的BackgroundImage,點擊的時候并不會及時很快看到高亮狀態(tài),而是長按才會看到,解決辦法:
1.設(shè)置tableView.delaysContentTouches = NO;
2.不用UIButton,用UIImageView代替,在Cell的- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated方法中,判斷highlighted的真假來改變UIImageView的image,達到正常狀態(tài)和高亮狀態(tài)的效果.然后給UIImageView添加點擊手勢,并設(shè)置代理方法把點擊時間傳給相應(yīng)的控制器去跳轉(zhuǎn).
3.一定要記得在點擊手勢事件中設(shè)置該cell為高亮狀態(tài)[self setHighlighted:YES animated:YES];這樣才會及時看到點擊時候的高亮效果.