2017-01-04 1 views
0

teilen Ich habe eine TableView, die eine Text-Antwort und eine ImageView hat, möchte ich beide teilen. Im Moment weiß ich, wie ich die Textantwort teilen soll, aber ich weiß nicht, wie ich das entsprechende Bild teilen soll. Dies ist der Code, den ich habeIOS swift wie kann ich ein Bild zusammen mit Text mit 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() 

} 

Das ist mein TableView darüber, die Text und ein Bild in der TableviewCell anzeigt. Ich jetzt diesen Code verwenden, den Inhalt der angeklickt Tabellenzelle

@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) 

    } 

zu teilen Wie man sehen kann ich den Beitrag Text Arbeits habe aber jetzt wie gehe ich über das Bild zu teilen, die in der Tablecell ist? Für den Text kann ich die Antwort erhalten mit Beiträge [sender.tag] für das Bild die URL, die ich bekommen kann mit profile_image_string [indexPath.row].

Antwort

1

Für Aktivität Artikel können Sie Array von Werten geben, so dass Sie ein anderes Objekt als Bild hinzufügen können

@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

Oh ok ich sehe, wie kann ich die indexPath bekommen es in richtig habe ich bisher getan diese indexPath lassen: NSIndexPath – user1949387

+0

Sie können den Indexpfad von Absender-Tag wie erhalten lassen indexpath = NSIndexPath (Zeile: 0, Abschnitt: 0) lassen Sie Zelle = tableView.cellForRow (at: indexpath als IndexPath) als! HomePageTVC let image = cell.profile_image.image Hinweis: Wenn das Bild nicht heruntergeladen wird, erhalten Sie das Bild von imageView nicht. Also hier machen Sie Ihre Download-Logik auch. –

Verwandte Themen