2017-01-24 4 views
0

Я хочу установить образ в пользовательскую ячейку. Я смущаюсь, как это сделать. позволяет сказать, что у меня есть пользовательская ячейка в моем UITable View.Swift: установите изображение в пользовательскую ячейку ImageView

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCellWithIdentifier("CustomCellOne", forIndexPath: indexPath) as! CustomOneCell 
    let tapGestureRecognizer = UITapGestureRecognizer(target:self, action:#selector(imageTapped(img:))) 
    cell.imageView.isUserInteractionEnabled = true 
    cell.imageView.addGestureRecognizer(tapGestureRecognizer) 

    return cell 
} 

Теперь, как только я нажмите на изображения следующая функция вызывается:

func imageTapped(img: AnyObject){ 
    print("Image clicked.") 

    if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage { 
     let imageData: NSData = UIImagePNGRepresentation(myImage) 
     let image: UIImage = UIImage(data:imageData,scale:1.0) 
     print(image) 
     //i am uploading the photo from here. and i want to set this picture to my cell imageView. 
    } 

    dismissViewControllerAnimated(true, completion: nil 
} 

Я смущен, как вызвать ImageView клеток отсюда ?? Как я могу продолжить? Мне просто нужно, чтобы установить, что полученное изображение в imgeView в ячейке другой все отлично работает ..

+0

Код, который вы добавили, вероятно, находится внутри 'didFinishPickingMediaWithInfo' не внутри вашего метода tapgesture. –

+0

все работает отлично. Я могу выбрать изображение, но не понял, как установить в cellviewview – Sam

+0

все работает отлично. Я могу выбрать изображение, но не понял, как установить изображение в ячейке. Да, это внутри. – Sam

ответ

0

Вот пример, который я только что протестировал

У меня есть обычай TableViewCell, названный ImageTableViewCell, который содержит один UIImageView, названный customImageView

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
{ 
    let cell = tableView.dequeueReusableCell(withIdentifier: "cellImage", for: indexPath) as! ImageTableViewCell 

    // initialising with some dummy data of mine 
    cell.customImageView.image = UIImage(named: "Image\(indexPath.row).png") 

    let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.imageTapped(_:))) 
    cell.addGestureRecognizer(tapGesture) 

    return cell 
} 

, а затем в ViewController

func imageTapped(_ sender: UITapGestureRecognizer) 
{ 
    let myCell = sender.view as! ImageTableViewCell 
    myCell.customImageView.image = UIImage(named: "imageTapped.jpg") 
} 

Это должно обновить Immedia изображения tely, без каких-либо требований по перезагрузке таблицы

+0

У меня не может быть доступа, например cell.imageview.image внутри функции imageTapped. – Sam

+0

Я обновил ответ – Russell

Смежные вопросы