首页 > 代码库 > UI: 使用 UIActivityViewController 显示分享选项
UI: 使用 UIActivityViewController 显示分享选项
问题:创建一个 UIActivityViewController 类的实例对象,通过该类进行内容分享
在 iOS 中分享数据是很容易的。你需要做的就是使用 UIActivityViewController 类的方法 initWithActivityItems:applicationActivities:实例化一个对象,这个方法的参数如下:
initWithActivityItems
这个 items 数组是你想要分享的内容。可以是 NSString,UIImage,或者任意遵循 UIActivityItemSource 协议的自定义类。
applicationActivities
这是一个 UIActivity 实例数组,代表程序中支持的 activities。
例子:
创建文本框和按钮:
- (void)createTextField{ self.textField = [[UITextField alloc]initWithFrame:CGRectMake(20, 35, 280, 30)]; //? //self.textField.translatesAutoresizingMaskIntoConstraints = NO; self.textField.borderStyle = UITextBorderStyleRoundedRect; self.textField.placeholder = @"输入分享内容"; self.textField.delegate = self; [self.view addSubview:self.textField]; }- (void)createButton{ self.buttonShare = [UIButton buttonWithType:UIButtonTypeRoundedRect]; //self.buttonShare.translatesAutoresizingMaskIntoConstraints = NO; self.buttonShare.frame = CGRectMake(20, 80, 280, 44); [self.buttonShare setTitle:@"Share`" forState:UIControlStateNormal]; [self.buttonShare addTarget:self action:@selector(handleShare:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:self.buttonShare];}
在viewDidLoad调用两个方法即可
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.view.backgroundColor = [UIColor whiteColor]; [self createButton]; [self createTextField];}
点击键盘上的Return按钮隐藏键盘
- (BOOL)textFieldShouldReturn:(UITextField *)textField{ [textField resignFirstResponder]; return YES;}
点击share按钮调用的方法:将内容通过UIActivityViewController进行分享:
- (void)handleShare:(id)paramSender{ if ([self.textField.text length]== 0) { NSString *message = @"Please enter a text and then press Share"; UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:nil message:message delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alertView show]; return; }//重要 self.activityViewController = [[UIActivityViewController alloc]initWithActivityItems:@[self.textField.text] applicationActivities:nil]; [self presentViewController:self.activityViewController animated:YES completion:^{ }];}
UI: 使用 UIActivityViewController 显示分享选项
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。