2017-08-12 91 views
1

我有一個UITableView具有文本和圖像。我可以分享文字,但是由於零值而導致圖像崩潰。這些圖像已經下載,但似乎我不能讓他們的工作,這是我的代碼IOS Swift UIActivityViewController可以共享文本,但不能在圖像中的圖像

@IBAction func shareMyAction(_ sender: UIButton) { 

    let message = streamsModel.posting[sender.tag] 

    if streamsModel.stream_image_string[sender.tag].characters.count > 6 { 
     // Has image 
     let cell = sender.superview?.superview as? SocialCellView 
     if cell == nil { 
      print("cell is nil") 
     } 

     let myImage = cell?.stream_image.image 

     if myImage == nil { 
      print("myImage is NIL") 
     } 

     activityViewController = UIActivityViewController(activityItems: [streamsModel.Posts[sender.tag].appending(message) as NSString,myImage!], applicationActivities: nil) 

    } else { 
     activityViewController = UIActivityViewController(activityItems: [streamsModel.Posts[sender.tag].appending(message) as NSString], applicationActivities: nil) 

    } 


} 

在上面的代碼,我也得到細胞MYIMAGE爲零。再次,圖像顯示在TableView上,但似乎無法讓它們與UIActivityViewController一起使用。

+0

您的按鈕位於單元格上的視圖上,還是直接位於單元格上? –

+1

你可以發佈你的細胞類嗎?我認爲你可以使用閉包,並且對你所嘗試的更好 –

+0

我的按鈕直接在單元上。哦,好吧,我現在要做的 – user1591668

回答

1

基於您的評論,你的按鈕是你的直接,你的問題是關係到這一行,所以你需要我在以前的評論說修改代碼以這一個let cell = sender.superview?.superview as? SocialCellView要添加一個額外的上海華

@IBAction func shareMyAction(_ sender: UIButton) { 

     let message = streamsModel.posting[sender.tag] 

     if streamsModel.stream_image_string[sender.tag].characters.count > 6 { 
      // Has image 
      let cell = sender.superview as? SocialCellView 
      if cell == nil { 
       print("cell is nil") 
      } 

      let myImage = cell?.stream_image.image 

      if myImage == nil { 
       print("myImage is NIL") 
      } 

      activityViewController = UIActivityViewController(activityItems: [streamsModel.Posts[sender.tag].appending(message) as NSString,myImage!], applicationActivities: nil) 

     } else { 
      activityViewController = UIActivityViewController(activityItems: [streamsModel.Posts[sender.tag].appending(message) as NSString], applicationActivities: nil) 

     } 


    } 

希望這會有所幫助

相關問題