ios硬件開發 照相機-圖像選取器(UIImagePickerController)的用法


1.新建Empty Application,添加一個視圖,設計xib如下:

 

2.使用 UIImagePickerController ,必須指定幾個非常重要的屬性:指定源的類型(指定之前要判斷是否可用)、指定委托、指定圖片是否可以編輯,設置完之后,就可以啟動了,將其“推”出來即可。

 

 

 - (IBAction)takeNewPhoto:(id)sender 

{
     // 創建圖片選擇器
    UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
    
     // 指定源類型前,檢查圖片源是否可用
     if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
    {
         // 指定源的類型
        imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
        
         // 在選定圖片之前,用戶可以簡單編輯要選的圖片。包括上下移動改變圖片的選取范圍,用手捏合動作改變圖片的大小等。
        imagePicker.allowsEditing = YES;
        
         // 實現委托,委托必須實現UIImagePickerControllerDelegate協議,來對用戶在圖片選取器中的動作
        imagePicker. delegate = self;
        
         // 設置完iamgePicker后,就可以啟動了。用以下方法將圖像選取器的視圖“推”出來
        [self presentModalViewController:imagePicker animated:YES];
        
        [imagePicker release];
    }
     else
    {
        UIAlertView *alert =[[UIAlertView alloc] initWithTitle:nil message: @" 相機不能用 "  delegate:nil cancelButtonTitle: @" 關閉 " otherButtonTitles:nil];
        [alert show];
        [alert release];
    }
}

 

 

3. UIImagePickerControllerDelegate協議的方法來實現對用戶的操作

 

#pragma  mark -
#pragma  mark UIImagePickerControllerDelegate協議的方法

// 用戶點擊圖像選取器中的“cancel”按鈕時被調用,這說明用戶想要中止選取圖像的操作
- ( void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
    [picker dismissModalViewControllerAnimated:YES];
}

// 用戶點擊選取器中的“choose”按鈕時被調用,告知委托對象,選取操作已經完成,同時將返回選取圖片的實例
- ( void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
    noticeLabel.hidden = YES;
    [imageView setImage:image];
    [picker dismissModalViewControllerAnimated:YES];

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM