2016-03-03 2 views
0

Мне нужна помощь. Я пытаюсь установить размытое представление, когда я нажимаю на ячейку. Я не знаю, есть ли какая-либо функция для обнаружения, если ячейка коснулась, поэтому я использую «выбранное» логическое значение, чтобы проверить, выбрано ли оно/коснулось. После этого, если в массиве изображений есть изображение, я хотел бы показать его в размытом виде. Множество приложений к этому, возможно, не так, но это единственный способ, который я нашел. Когда я его протестировал, выбор по-прежнему появляется, но ничего не происходит, как этот код никогда не выполнялся. Если бы даже появилось предупреждение, я бы знал, что он работает, но это не так.Почему не признается выбор ячейки? Swift

Замечания: CellImgView - это UIView, который я добавил, чтобы поместить изображение, изображение и кнопку закрытия и в основном размытие. Все они настроены на скрытие в построителе интерфейса, потому что я просто хочу отобразить их, когда к ним привязана камера.

Этот код ВНУТРИ ФУНКЦИИ:

tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 

Вот код

if cell.selected == true { //! 
      if let dataArr = dft.valueForKey("images") as? [NSData] { 


       let nowImgData = dataArr[indexPath.row] 
       let nowImg = UIImage(data: nowImgData) 

       let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Dark) 
       let blurView = UIVisualEffectView(effect: blurEffect) 
       theCellView.addSubview(blurView) 
       blurView.frame = theCellView.bounds 

       theCellView.hidden = false 
       theCellImgViewCloseBtn.hidden = false 
       theCellImageDesc.hidden = false 
       theCellImage.hidden = false 

       theCellImage.image = nowImg 
       theCellImageDesc.text = descriptions[indexPath.row] 
      } else { 
       let alert = UIAlertController(title: "No image", message: "This cell has no image", preferredStyle: UIAlertControllerStyle.Alert) 
       alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default, handler: nil)) 
       presentViewController(alert, animated: true, completion: nil) 
      } 
     } 

Любая помощь приветствуется!

ответ

2

Взгляните:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 

} 

или даже лучше, щелкните правой кнопкой мыши на вашем UITableViewDelegate наследования и переход к определению идти через доступные методы, которые вы имеете в своем распоряжении. Хорошо знать, что у вас есть для вас.

+0

Как это может быть полезно? Этот код находится внутри этой функции ... –

+0

@HenriqueDourado Функция, которую я предоставил, предназначена для выбора ячейки. Это не одно и то же. – Shen

+0

О, мой плохой. Позвольте мне попробовать, и я дам вам обратную связь. Спасибо –