天天看點

iOS6新特征:UIActivityViewController使用示例

2. UIActivityViewController使用示例

UIActivityViewController ,出現于 iOS 6,在應用裡為分享和操作資料提供了一個統一的服務接口。

iOS6新特征:UIActivityViewController使用示例

下面大緻介紹一下 UIActivityViewController的使用 2、如何使用 1)定義ActivityItems,并初始化,這裡我們給ActivityItems初始化了一個字元串,一個圖檔,還有一個URL。

2)初始化一個UIActivityViewController,使用第一步驟定義的ActivityItems進行初始化,這個參數是必須要有的,不能為空。而第二個參數applicationActivities可以為nil,詳細内容可以參考 iOS6新特征:UIActivityViewController類參考。

3)給activityVC的屬性completionHandler寫一個block。用以UIActivityViewController執行結束後,被調用,做一些後續處理。

4)以模态的方式展現activityVC。

看下面給出的關鍵代碼

本帖隐藏的内容

01

// 測試UIActivityViewController

02

- (IBAction)ActivityVCAction:(id)sender

03

{

04

// 首先初始化activityItems參數

05

NSArray *activityItems = [[NSArray alloc]initWithObjects:

06

@\\

"移動開發技術盡在DevDiv移動技術開發社群\\"

,

07

@\\

"http://www.DevDiv.com\\"

,

08

[UIImage imageNamed:@\\

"background1.png\\"

], nil];

09

10

// 初始化一個UIActivityViewController

11

UIActivityViewController *activityVC = [[UIActivityViewController alloc]initWithActivityItems:activityItems applicationActivities:Nil];

12

13

// 寫一個bolck,用于completionHandler的初始化

14

UIActivityViewControllerCompletionHandler myBlock = ^(NSString *activityType,

BOOL

completed) {

15

NSLog(@\\

"%@\\"

, activityType);

16

if

(completed) {

17

NSLog(@\\

"completed\\"

);

18

else

19

{

20

NSLog(@\\

"cancled\\"

);

21

}

22

[activityVC dismissViewControllerAnimated:YES completion:Nil];

23

};

24

25

// 初始化completionHandler,當post結束之後(無論是done還是cancell)該blog都會被調用

26

activityVC.completionHandler = myBlock;

27

28

// 以模态方式展現出UIActivityViewController

29

[self presentViewController:activityVC animated:YES completion:Nil];

30

}

++++++++++++++++++++++++ 簡單使用上面足夠,下面了解更多: 預設情況下,UIActivityViewController 将顯示所有可用于所提供内容的服務,但我們也可以排除特定的 Activity 類型。

  1. activityViewController.excludedActivityTypes = @[UIActivityTypePostToFacebook]; 

  Activity 類型又分為“操作”和“分享”兩大類: UIActivityCategoryAction 1. UIActivityTypePrint 2. UIActivityTypeCopyToPasteboard 3. UIActivityTypeAssignToContact 4. UIActivityTypeSaveToCameraRoll 5. UIActivityTypeAddToReadingList 6. UIActivityTypeAirDrop   UIActivityCategoryShare 1. UIActivityTypeMessage 2. UIActivityTypeMail 3. UIActivityTypePostToFacebook 4. UIActivityTypePostToTwitter 5. UIActivityTypePostToFlickr 6. UIActivityTypePostToVimeo 7. UIActivityTypePostToTencentWeibo 8. UIActivityTypePostToWeibo   每個 Activity 類型都支援好多種不同的資料類型。例如,一條 Tweet 可能由 NSString 以及一個附加的圖像 和/或 URL 所組成。   不同的 Activity 類型所支援的資料類型 

參考: http://www.cocoachina.com/industry/20140425/8233.html