2017-01-04 2 views
0

У меня есть TableView, который имеет ответ Text и изображениеView, я хочу поделиться ими обоими. Сейчас я знаю, как делиться текстовым ответом, но я не знаю, как поделиться соответствующим образом. Это код, который у меня естьIOS swift как я могу поделиться изображением вместе с текстом, используя UIActivityViewController

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCell(withIdentifier: "HomePageTVC", for: indexPath) as! HomePageTVC 
    // Post Text 
    cell.post.text = Posts[indexPath.row] 

    // Image View 
      let strCellImageURL = self.profile_image_string[indexPath.row] 
      let imgURL: NSURL = NSURL(string: strCellImageURL)! 
      let request:NSURLRequest = NSURLRequest(url: imgURL as URL) 
      let config = URLSessionConfiguration.default 
      let session = URLSession(configuration: config) 

      let task = session.dataTask(with: request as URLRequest, completionHandler: {(data, response, error) in 
       DispatchQueue.main.async(execute: {() -> Void in 

        cell.profile_image.image = UIImage(data: data!) 


       }) 
      }); 
      task.resume() 

} 

Это мой TableView, над которым отображается текст и изображение в tableviewCell. Теперь я использую этот код, чтобы разделить содержимое щелкнули ячейки таблицы

@IBAction func Share_Action(_ sender: UIButton) { 
// How can I also share a image here ? 
     activityViewController = UIActivityViewController(activityItems: [Posts[sender.tag] as NSString], applicationActivities: nil) 
     present(activityViewController,animated: true,completion: nil) 

    } 

Как вы можете видеть, у меня есть текст сообщения работать, но теперь как я могу идти о разделении изображения, которое в TableCell? Для текста я могу получить ответ, используя Сообщения [sender.tag] для изображения URL, который я могу получить, используя profile_image_string [indexPath.row].

ответ

1

Для элементов деятельности вы можете дать массив значений, так что вы можете добавить еще один объект в виде изображения

@IBAction func Share_Action(_ sender: UIButton) { 
      let image = profile_image_string[indexPath.row] as UIImage 
      activityViewController = UIActivityViewController(activityItems: [Posts[sender.tag] as NSString, image], applicationActivities: nil) 
      present(activityViewController,animated: true,completion: nil) 

     } 
+0

О порядке я вижу, как я могу получить indexPath в там правильно, я до сих пор сделать это пусть indexPath: NSIndexPath – user1949387

+0

вы можете получить индексный путь от тега отправителя, например let indexpath = NSIndexPath (строка: 0, раздел: 0) let cell = tableView.cellForRow (по: indexpath как IndexPath) как! HomePageTVC let image = cell.profile_image.image Примечание: Если изображение не загружено, вы не получите изображение из изображения. Итак, для этого вы также можете использовать свою логику загрузки. –

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