zoukankan      html  css  js  c++  java
  • Presenting Sharing Options with UIActivityViewController

    需要实例化UIActivityViewController这个类,通过initWithActivityItems:applicationActivities: 方法:

    initWithActivityItems:要分享的东西,可以是NSString, UIImage, 自己定义的符合UIActivityItemSource 协议的类的实例。

    applicationActivities:代表这项分享的动作你自动的应用可以支持

    将用户输入的文字发送到UIActivityViewController类的实例化

    头文件

    #import <UIKit/UIKit.h>

     

    @interface ViewController : UIViewController<UITextFieldDelegate>

     

    @end

     

    实现文件

    #import "ViewController.h"

     

    @interfaceViewController ()

     

    @property(nonatomic,strong) UITextField *textField;

    @property(nonatomic,strong) UIButton *buttonShare;

    @property(nonatomic,strong) UIActivityViewController *acticityViewController;

     

    @end

     

    @implementation ViewController

     

    - (void) createTextField {

        self.textField = [[UITextFieldalloc] initWithFrame:CGRectMake(20.0f, 30.0f, 280.0f, 30.0f)];

        self.textField.translatesAutoresizingMaskIntoConstraints = NO;

        self.textField.borderStyle = UITextBorderStyleRoundedRect;

        self.textField.placeholder = @"Enter Text to share";

        self.textField.delegate = self;

        [self.view addSubview:self.textField];

    }

     

    - (void) createButton {

        self.buttonShare = [UIButtonbuttonWithType:UIButtonTypeRoundedRect];                //子类用这个方法不能返回一个button

        self.buttonShare.translatesAutoresizingMaskIntoConstraints = NO;

        self.buttonShare.frame = CGRectMake(20.0f, 80.0f, 280.0f, 35.0f);

        [self.buttonSharesetTitle:@"Share"forState:UIControlStateNormal];

        [self.buttonShareaddTarget:selfaction:@selector(handlerShare:) forControlEvents:UIControlEventTouchUpInside];

        [self.view addSubview:self.buttonShare];

    }

     

    //UITextFieldDelegate中的方法,用于dismiss keyboard

    - (BOOL) textFieldShouldReturn:(UITextField *)textField {

        [textField resignFirstResponder];

        returnYES;

    }

    - (void) handlerShare: (id)paramSender {

        if ([self.textField.text length] == 0) {

            NSString *message = @"please enter a text and then press the share button";

            UIAlertView *alertView =[[UIAlertViewalloc] initWithTitle:nilmessage:message delegate:nilcancelButtonTitle:@"OK"otherButtonTitles: nil];

            [alertView show];

            

            return;

        }

        

        self.acticityViewController = [[UIActivityViewControlleralloc]initWithActivityItems:@[self.textField.text]applicationActivities:nil];

        [selfpresentViewController:self.acticityViewControlleranimated:NOcompletion:^{

            

        }];

    }

    - (void)viewDidLoad

    {

        [superviewDidLoad];

        [selfcreateTextField];

        [selfcreateButton];

    }

     

    - (void)didReceiveMemoryWarning

    {

        [superdidReceiveMemoryWarning];

        // Dispose of any resources that can be recreated.

    }

     

    @end

     

     

     

    运行图

  • 相关阅读:
    工作流二次开发之新增表单实践(二)
    layui表格及工作流二次开发实践(一)
    记一个递归封装树形结构
    SpringCloud微服务之宏观了解
    统一结果返回&统一异常处理
    mybatis-Plus 实践篇之CRUD操作
    修改MariaDB-root密码
    iftop-监控服务器实时带宽情况
    Wordpress安装-报错说明
    MariaDB忘记root密码
  • 原文地址:https://www.cnblogs.com/liuhong/p/3276841.html
Copyright © 2011-2022 走看看