zoukankan      html  css  js  c++  java
  • IOS开发之小实例--UIImagePickerController

    摘自:http://www.cnblogs.com/goodboy-heyang/p/5403947.html

    前言:本篇博文是本人阅读国外的IOS Programming Tutorial的一篇入门文章的学习过程总结,难度不大,因为是入门。主要是入门UIImagePickerController这个控制器,那么这个 控制器是干嘛的呢?就是调用设备摄像机功能用的。到后面可能需要您在真机上测试,因为iPhone模拟器无法支持摄像机功能,运行测试会崩溃的哦。

    网址:http://www.appcoda.com/ios-programming-camera-iphone-app/

    http://images2015.cnblogs.com/blog/784420/201604/784420-20160418120749601-118761625.jpg

    1、首先简单的创建一个工程,然后在storyboard和对应的.m文件中添加相关的代码,这个简明教程没有使用自动布局,不多说,看图识字:

    http://images2015.cnblogs.com/blog/784420/201604/784420-20160418120807304-1174625630.png

    2、下面是这个ViewController.m的完整实现:

    #import "ViewController.h"
    
    @interface ViewController () <UIImagePickerControllerDelegate,UINavigationControllerDelegate>
    
    @property (strong, nonatomic) IBOutlet UIImageView *imageView;
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        // 这段代码会自动判断当前设备是否有摄像机功能,如果没有,会弹窗提示
        if (![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {
            
            UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:@"Error"
                                                                  message:@"Device has no camera"
                                                                 delegate:nil
                                                        cancelButtonTitle:@"OK"
                                                        otherButtonTitles: nil];
            
            [myAlertView show];
            
        }
    }
    - (IBAction)takePhotot:(UIButton *)sender {
        // 创建UIImagePickerController控制器对象
        UIImagePickerController *picker = [[UIImagePickerController alloc] init];
        picker.delegate = self;
        picker.allowsEditing = YES;
        picker.sourceType = UIImagePickerControllerSourceTypeCamera;
        
        [self presentViewController:picker animated:YES completion:nil];
    }
    - (IBAction)selectPhoto:(UIButton *)sender {
        // 创建UIImagePickerController控制器对象
        UIImagePickerController *picker = [[UIImagePickerController alloc] init];
        picker.delegate = self;
        picker.allowsEditing = YES;
        picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
        
        [self presentViewController:picker animated:YES completion:nil];
    }
    #pragma mark - 代理方法
    -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{
        UIImage* chosenImage = info[UIImagePickerControllerEditedImage];
        self.imageView.image = chosenImage;
        
        [picker dismissViewControllerAnimated:YES completion:nil];
    }
    -(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
        [picker dismissViewControllerAnimated:YES completion:nil];
    }
    
    @end
  • 相关阅读:
    12-单表查询
    11-数据的增删改
    10-外键的变种 三种关系
    09-完整性约束
    08-数据类型(2)
    07-数据类型
    06-表的操作
    05-库的操作
    Spring:(六) 代理模式
    Spring:(五) 注解
  • 原文地址:https://www.cnblogs.com/Lucky-056150/p/5404271.html
Copyright © 2011-2022 走看看