2016-08-08 25 views
12

Tôi cố gắng để tìm ra cách để tạo một người dùng bài tương tác hoặc tweet loại giống như SoundCloud ở đây dưới đây:làm thế nào để tạo người dùng tweet tương tác hoặc đăng lên Facebook với UIActivityViewController

(Shared directly from Sound Cloud)

Phần đánh dấu màu vàng là phần mà tôi quan tâm bởi vì theo như tôi có thể nói khi nói đến UIActivityViewController (đó là những gì Sound Cloud sử dụng cho việc này), các đối tượng duy nhất làm việc để chia sẻ là hình ảnh và chuỗi.

Hơn nữa, nếu bạn là để khai thác phần đánh dấu màu vàng màn hình này sẽ bật lên trên twitter:

enter image description here

LÀM THẾ NÀO họ làm điều đó !? HỌ CÓ BÚT NÀO VÀ MỌI NGƯỜI!

Đây là nỗ lực của tôi để làm điều đó ...

func displayShareSheet(shareContent:String) { 

     let someView:CustomView = CustomView() // CustomView is a subclass of UIView 

     let activityViewController = UIActivityViewController(activityItems: [someView], applicationActivities: nil) 
     presentViewController(activityViewController, animated: true, completion: {}) 
    } 

... mà không hoạt động. Bảng UIActivityViewController bật lên mà không có tùy chọn chia sẻ nào được chỉ ra.

Tôi hiểu rằng một số người có thể coi đây là một câu hỏi rộng nhưng nếu bạn ít nhất có thể chỉ cho tôi đúng hướng tôi sẽ rất biết ơn. Cảm ơn bạn.

+0

Hình ảnh khổng lồ của bạn làm cho câu hỏi khó đọc, tôi đề nghị bạn thu nhỏ kích thước hình ảnh để câu hỏi hấp dẫn và bạn sẽ chú ý hơn – Honey

Trả lời

2

Tác phẩm này. Để có danh sách đầy đủ các đích chia sẻ, hãy chạy nó trên thiết bị của bạn chứ không phải trình mô phỏng. Trình giả lập cung cấp cho bạn một danh sách nhỏ hơn.

func createActivityController() -> UIActivityViewController { 
    let someText:String = textView.text 

    let google = NSURL(string:"http://google.com/")! 

    // let's add a String and an NSURL 
    var activityViewController = UIActivityViewController(
     activityItems: [someText, google], 
     applicationActivities: nil) 

    activityViewController.completionHandler = {(activityType, completed:Bool) in 
     if !completed { 
      print("cancelled") 
      return 
     } 

     if activityType == UIActivityTypePostToTwitter { 
      print("twitter") 
     } 

     if activityType == UIActivityTypeMail { 
      print("mail") 
     } 
    } 

    // you can specify these if you'd like. 
    //  activityViewController.excludedActivityTypes = [ 
    //   UIActivityTypePostToTwitter, 
    //   UIActivityTypePostToFacebook, 
    //   UIActivityTypePostToWeibo, 
    //   UIActivityTypeMessage, 
    //   UIActivityTypeMail, 
    //   UIActivityTypePrint, 
    //   UIActivityTypeCopyToPasteboard, 
    //   UIActivityTypeAssignToContact, 
    //   UIActivityTypeSaveToCameraRoll, 
    //   UIActivityTypeAddToReadingList, 
    //   UIActivityTypePostToFlickr, 
    //   UIActivityTypePostToVimeo, 
    //   UIActivityTypePostToTencentWeibo 
    //  ] 

    return activityViewController 
} 
+1

ps Bạn cần đăng nhập vào Facebook và Twitter để có các tùy chọn chia sẻ để hiển thị. –

2

Phần đầu tiên, nút phát chỉ nhấp để bật cửa sổ trình phát.

Thứ hai: Bạn có thể thực hiện việc này bằng cách chỉ bật chế độ xem mớiController, sử dụng bất kỳ nhóm bật lên nào: CWPOP như cũ. Hoặc bất cứ điều gì phù hợp với bạn hoặc như Twitter ở đây tôi không chắc chắn nhưng có lẽ họ đang làm của riêng mình, và bạn chỉ cần xây dựng một cái nhìn bình thường trong đó có chơi và tất cả mọi thứ.

Họ đã sử dụng nó tốt hơn trước và cho phép bạn phát nhạc trong suốt quá trình tweet, điều đó tốt hơn tôi ít nhất.

+0

Cảm ơn bạn đã phản hồi của bạn nhưng bạn có biết làm thế nào tôi thực sự vượt qua nói một bộ điều khiển xem với UIActivityViewController? –

Các vấn đề liên quan