美文网首页
生成二维码&本地推送

生成二维码&本地推送

作者: 你我他_1180 | 来源:发表于2018-07-22 23:39 被阅读0次

    导入生成二维码的第三方。 libqrencode

    //导入生成二维码的头文件

     #import "QRCodeGenerator.h"

    //导入自己创建的继承于ViewController试图控制器

    #import "OneViewController.h"

    @interface ViewController ()

    {

       UIImageView *imgV;

        UITextField *text;

    }

    @end

    @implementation ViewController

    - (void)viewDidLoad {

        [super viewDidLoad];

        self.navigationItem.title = @"二维码";

        UIBarButtonItem*right = [[UIBarButtonItemalloc]initWithTitle:@"查看二维码"style:UIBarButtonItemStyleDonetarget:selfaction:@selector(tiaoZhaun)];

        self.navigationItem.rightBarButtonItem = right;

        imgV = [[UIImageView alloc]initWithFrame:CGRectMake(100, 250, 200, 200)];

        imgV.backgroundColor = [UIColor redColor];

        [self.view addSubview:imgV];

        // 设置按钮

        UIButton *btn = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 100, 40)];

        // 设置背景颜色

        btn.backgroundColor = [UIColor greenColor];

        // 设置文字

        [btnsetTitle:@"生成二维码" forState:UIControlStateNormal];

        // 设置文字颜色

        [btnsetTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

        // 点击事件

        [btnaddTarget:self action:@selector(click) forControlEvents:UIControlEventTouchUpInside];

        // 添加到主界面

        [self.viewaddSubview:btn];

    }

    // 跳转到下一个界面

    - (void)tiaoZhaun{

        [self presentViewController:[OneViewController new] animated:YES completion:nil];

    }

    // 点击事件

    - (void)click{

       // 创建提示框

        UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"创建二维码" message:@"" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];

        [alertsetAlertViewStyle:UIAlertViewStylePlainTextInput];

        UITextField*textF = [alerttextFieldAtIndex:0];

        textF.placeholder=@"请输入字符串";

        [alertshow];

    }

    - (void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{

        if(buttonIndex ==1) {

            text= [alertViewtextFieldAtIndex:0];

        }

        // 生成二维码

        UIImage *image = [QRCodeGenerator qrImageForString:text.text imageSize:imgV.frame.size.width];

        imgV.image= image;

        //保存二维码并给与二维码图片名称

        NSString *filePath = [NSString stringWithFormat:@"%@/123.png",NSHomeDirectory()];

        [UIImagePNGRepresentation(imgV.image) writeToFile:filePath atomically:YES];

    }

    //注册通知,点击点击进行通知的时候调用

    -(void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event{

        UIApplication *application =[UIApplication sharedApplication];

        //如果当前应用程序没有注册本地通知,需要注册

        if([application currentUserNotificationSettings].types==UIUserNotificationTypeNone){

            UIUserNotificationSettings *setting=[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge|UIUserNotificationTypeSound|UIUserNotificationTypeAlert categories:nil];       [applicationregisterUserNotificationSettings:setting];

       }

       //删除之前的重复通知

        [applicationcancelAllLocalNotifications];

        //添加本地通知

        NSDate * date=[NSDate dateWithTimeIntervalSinceNow:10];

        [self LocalNotificationSleep :date];

    }

    #pragma mark - 添加本地通知

    - (void) LocalNotificationSleep:(NSDate*) date{

        UILocalNotification * noti=[[UILocalNotification alloc] init];

        //设置开始时间

        noti.fireDate=date;

        //设置body

        noti.alertBody=@"你有一条消息提醒,请查收!";

        //设置action

        noti.alertAction=@"详情";

        //设置闹铃

        noti.soundName=@"4195.mp3";

    #warning 注册完之后如果不删除,下次会继续存在,即使从模拟器卸载掉也会保留

        //注册通知

        [[UIApplication sharedApplication] scheduleLocalNotification:noti];

    }

    相关文章

      网友评论

          本文标题:生成二维码&本地推送

          本文链接:https://www.haomeiwen.com/subject/mdarmftx.html