標籤:
為UITableViewCell添加tapped事件,代碼如下:
class VideoViewController: UIViewController , UITableViewDataSource,UITableViewDelegate {//... func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) { // 播放框背景圖片 let imageName : String = "cs50-"+String(indexPath.row+1) let image:UIImage = UIImage(named: imageName)! backgroundImageView.image = nil backgroundImageView.contentMode = UIViewContentMode.ScaleAspectFit backgroundBackImageView.clipsToBounds = true backgroundBackImageView.image = image }}
我希望點擊列表中某個視頻,再螢幕上方UIImageView中顯示這個視頻的背景圖片。然而運行結果事與願違,第一次點按並無響應;第二次點按後UIImageView顯示第一次點按應該顯示的圖片。
仔細檢查後發現,tableView的委託方法中,除了didSelectRowAtIndexPath,還有一個didDeselectRowAtIndexPath,這兩者不仔細看根本看不出來。由於代碼自動補全的時候De排在Se之前,所以我選擇了不合適的方法didDeselect...
// 感謝這位帖主 主題 : iPhone開發中的“幽靈”——按兩次,- (void)tableView:didDeselectRowAtIndexPath:才響應
iOS開發中didSelectRowAtIndexPath tap事件響應延遲