程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 郵件、短信、相機、圖庫的使用

郵件、短信、相機、圖庫的使用

編輯:C++入門知識

郵件、短信、相機、圖庫的使用


-.首先導入MessageUI.framework框架

二.導入頭文件#import 和代理方FMailComposeViewControllerDelegate,

MFMessageComposeViewControllerDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate

三. .h文件

#import 
#import 

@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIButton *Email;
@property (strong, nonatomic) IBOutlet UIButton *note;
@property (strong, nonatomic) IBOutlet UIButton *camera;
@property (strong, nonatomic) IBOutlet UIButton *mapDepot;
- (IBAction)mailDelivery:(id)sender;
- (IBAction)noteDelivery:(id)sender;
- (IBAction)useTheCamera:(id)sender;
- (IBAction)galleryUse:(id)sender;


四. .m文件

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
    UIImageView *imageView = [[UIImageView alloc] init];
    imageView.frame = CGRectMake(100, 20, 120, 120);
    imageView.backgroundColor = [UIColor greenColor];
    imageView.tag = 101;
    [self.view addSubview:imageView];

}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


//發送郵件
- (IBAction)mailDelivery:(id)sender {
    //  判斷設備是否是否可以發送郵件
    Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
    NSString * feedbackMsg;
    if (!mailClass) {
        
        feedbackMsg = @"當前系統版本不支持應用內發送郵件功能";
        UIAlertView *alertView =
        [[UIAlertView alloc] initWithTitle:@"提示"
                                   message:feedbackMsg
                                  delegate:nil
                         cancelButtonTitle:@"確定"
                         otherButtonTitles:nil];
        
        [alertView show];
        
        
    }else if(![mailClass canSendMail])
    {
        feedbackMsg = @"您沒有設置郵件賬戶";
        UIAlertView *alertView =
        [[UIAlertView alloc] initWithTitle:@"提示"
                                   message:feedbackMsg
                                  delegate:nil
                         cancelButtonTitle:@"確定"
                         otherButtonTitles:nil];
        
        [alertView show];
        
        
    }else{
        [self sendFeedBackMail];
    }
    
    
}
//發送短信
- (IBAction)noteDelivery:(id)sender {
    BOOL judge = [MFMessageComposeViewController canSendText];
    if (judge) {
        MFMessageComposeViewController *picker = [[MFMessageComposeViewController alloc]init];
        picker.messageComposeDelegate = self;
        //收件人
        picker.recipients = @[@"186*******"];
        //內容
        picker.body = @"很高興見到你!";
        [self presentViewController:picker animated:YES completion:nil];
    }else
    {
       
        UIAlertView *alertView =
        [[UIAlertView alloc] initWithTitle:@"提示"
                                   message:@"系統不具備此項功能!"
                                  delegate:nil
                         cancelButtonTitle:@"確定"
                         otherButtonTitles:nil];
        
        [alertView show];

        
    }
}
//使用相機功能
- (IBAction)useTheCamera:(id)sender {
    
    // UIImagePickerControllerCameraDeviceRear 後置攝像頭
    // UIImagePickerControllerCameraDeviceFront 前置攝像頭
    BOOL isCamera = [UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceRear];
    if (!isCamera) {
        NSLog(@"沒有攝像頭");
        return ;
    }
    
    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
    imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
    imagePicker.delegate = self;
    // 編輯模式
    imagePicker.allowsEditing = YES;
    [self  presentViewController:imagePicker animated:YES completion:nil];
}
//使用圖庫
- (IBAction)galleryUse:(id)sender {
    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
    imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    imagePicker.delegate = self;
    [self  presentViewController:imagePicker animated:YES completion:^{
    }];
}
#pragma mark--------------使用相機----------------

// 選中照片

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
    NSLog(@"%@", info);
    UIImageView  *imageView = (UIImageView *)[self.view viewWithTag:101];
    // UIImagePickerControllerOriginalImage 原始圖片
    // UIImagePickerControllerEditedImage 編輯後圖片
    UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
    imageView.image = image;
    [picker dismissViewControllerAnimated:YES completion:NULL];
    
}



// 取消相冊
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker {
    [picker dismissViewControllerAnimated:YES completion:NULL];
    
}

#pragma mark--------------發送短信----------------
-(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
    NSString *title = @"郵件發送提醒";
    NSString *msg;
    switch (result) {
        case MessageComposeResultCancelled:
            msg = @"短信取消!";
            [self alertWithTitle:title msg:msg];
            break;
        case MessageComposeResultSent:
            msg = @"短信成功發送!";
            [self alertWithTitle:title msg:msg];
            break;
        case MessageComposeResultFailed:
            msg = @"短信發送失敗!";
            [self alertWithTitle:title msg:msg];
            break;
           }
    [self dismissViewControllerAnimated:YES completion:nil];
}


#pragma mark--------------發送郵件----------------

-(void)sendFeedBackMail
{
    //是否創建郵件
    BOOL judge = [MFMailComposeViewController canSendMail];
    if (judge) {
        //創建郵件
        MFMailComposeViewController *pick = [[MFMailComposeViewController alloc]init];
        //標題
        [pick setSubject:@"意見反饋"];
        //郵件地址
        NSArray *address = [NSArray arrayWithObject:@"請填上自己的郵箱"];
        [pick setToRecipients:address];
        //內容
        NSString *message = @"你好!";
        pick.mailComposeDelegate = self;
        [pick setMessageBody:message isHTML:NO];
        //返回
        [self presentViewController:pick animated:YES completion:NULL];
    }
}
//代理
-(void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
    NSString *title = @"郵件發送提醒";
    NSString *msg;
    switch (result) {
        case MFMailComposeResultCancelled:
            msg = @"郵件取消!";
            [self alertWithTitle:title msg:msg];
            break;
        case MFMailComposeResultSaved:
            msg = @"郵件保存成功!";
            [self alertWithTitle:title msg:msg];
            break;
        case MFMailComposeResultSent:
            msg = @"郵件發送成功!";
            [self alertWithTitle:title msg:msg];
            break;
            
        case MFMailComposeResultFailed:
            msg =@"郵件發送失敗!";
            [self alertWithTitle:title msg:msg];
            break;
    }
    [self dismissViewControllerAnimated:YES completion:NULL];
}
- (void)alertWithTitle:(NSString *)_title_ msg:(NSString *)msg{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:_title_
                                                    message:msg
                                                   delegate:nil
                                          cancelButtonTitle:@"好"
                                          otherButtonTitles:nil];
    [alert show];
}


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved