iOS硬件特性(照相,图片库,短信)

主类.h

#import <UIKit/UIKit.h>

#import <MessageUI/MessageUI.h>

@interface MyViewController : UIViewController

<UIImagePickerControllerDelegate,UINavigationControllerDelegate,MFMailComposeViewControllerDelegate>

{

    

    IBOutlet UIImageView *myImgView;

}

- (IBAction)libraryBtn:(id)sender;

- (IBAction)cameraBtn:(id)sender;

- (IBAction)sendMail:(id)sender;

@end

=========================================================

//点击图片库按钮

- (IBAction)libraryBtn:(id)sender

{

    if ([UIImagePickerControllerisSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary])

    {

        UIImagePickerController *picker = [[UIImagePickerControlleralloc]init];

        picker.delegate = self;

        //是否可编辑

//        picker.allowsEditing = YES;

        picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

        [selfpresentViewController:picker animated:YEScompletion:nil];

        [picker release];

    }

}

 

- (IBAction)cameraBtn:(id)sender

{

    //判断是否可以打开相机,模拟器无法打开此功能

    if ([UIImagePickerControllerisSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])

    {

        UIImagePickerController *picker = [[UIImagePickerControlleralloc]init];

        picker.delegate = self;

        //是否可编辑

//        picker.allowsEditing = YES;

        picker.sourceType = UIImagePickerControllerSourceTypeCamera;

        [selfpresentViewController:picker animated:YEScompletion:nil];

        [picker release];

    }

    else

    {

        UIAlertView *alert = [[UIAlertViewalloc]initWithTitle:@"提示"message:@"你没有摄像头" delegate:nilcancelButtonTitle:@"取消" otherButtonTitles:nil];

        [alert show];

        [alert release];

    }

}

 

- (IBAction)sendMail:(id)sender

{

    BOOL canSendMail = [MFMailComposeViewControllercanSendMail];

    if (canSendMail)

    {

        MFMailComposeViewController *mail = [[MFMailComposeViewControlleralloc]init];

        [mail setSubject:@"蓝鸥科技"];

        [mail setToRecipients:[NSArrayarrayWithObject:@"925324668@qq.com"]];

        [mail setCcRecipients:[NSArrayarrayWithObject:@"925324665@qq.com"]];

        [mail setMessageBody:@"图片"isHTML:YES];

        [mail setMailComposeDelegate:self];

        NSData *data1=UIImageJPEGRepresentation(myImgView.image, 0);

//        NSData *data1 = UIImagePNGRepresentation(myImgView.image);

        NSLog(@"myData = %@",data1);

        [mail addAttachmentData:data1 mimeType:@"image/jpeg"fileName:@"nest"];

        [selfpresentViewController:mail animated:YEScompletion:nil];

        [mail release];

    }

}

- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error

{

    switch (result)

    {

        caseMFMailComposeResultCancelled:

            //取消发送

            NSLog(@"Result: canceled");

            break;

        caseMFMailComposeResultSent:

            //发送

            NSLog(@"Result: Sent");

            break;

        caseMFMailComposeResultFailed:

            //发送失败

            NSLog(@"Result: Failed");

            break;

        caseMFMailComposeResultSaved:

            //保存

            NSLog(@"Result: Saved");

            break;

        default:

            break;

    }

    [selfdismissViewControllerAnimated:YEScompletion:nil];

}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

{

    //得到原始图片,如果可编辑打开,可以获得编辑图片,但是key不是这个

    UIImage *img = [info objectForKey:UIImagePickerControllerOriginalImage];

    myImgView.image = img;

    [selfdismissViewControllerAnimated:YEScompletion:nil];

}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker

{

    [selfdismissViewControllerAnimated:YEScompletion:nil];

}

- (void)dealloc {

    [myImgViewrelease];

    [super dealloc];

}

posted @ 2013-02-21 10:40  言程序  阅读(218)  评论(0)    收藏  举报