UIImagePickerController 圖像選取器--在iPhone中調用照相機、照片庫—IOS開發


 

聲明
歡迎轉載,但是請尊重作者勞動成果,轉載請保留此框內聲明,謝謝。
文章出處:http://blog.csdn.net/iukey

UIImagePickerController 圖像選取器是一種導航控制器類,讓你可以在應用程序中添加簡單的圖像選擇功能或者照相機界面。用戶會看到一個圖像選擇屏幕,在其中挑選相片,相片的來源則 是他自己的相片庫、保存下來的相片集或者照相機。當用戶選定一個相片后,就會通過 UIImagePickerDelegate 協議中的方法,通知選取器的委托。

你可以用  UIImagePickerController 類來創建圖像選取器,並且可以將其作為一個獨立的導航控制器,添加到窗口中。

一、創建並添加到視圖中

  1. UIImagePickerController* picker = [[UIImagePickerController alloc]init];  
  2. [self.view addSubview:picker.view];  

二、圖像來源

你可以通過 sourceType 屬性設定多種圖像來源,呈現給用戶:

  1. picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;  
可以使用下列來源:
  1. enum {  
  2. UIImagePickerControllerSourceTypePhotoLibrary,//相片庫  
  3.     UIImagePickerControllerSourceTypeCamera,//照相機  
  4.     UIImagePickerControllerSourceTypeSavedPhotosAlbum//保存的相片  
  5. };  
  6. typedef NSUInteger UIImagePickerControllerSourceType;  
三、圖像編輯

要讓用戶可以隨意移動以及縮放圖像,可以將 allowsImageEditing 屬性設置為 YES,打開圖像編輯功能:

  1. picker.allowsEditing=YES;  
四、圖像選取

當用戶選擇一個圖片之后,選擇器的委托會通過 didFinishPickingImage 方法接到通知。代理會得到一個包含有該圖像的 UIImage 對象,如果編輯功能開啟的話,還會得到一個包含了編輯屬性的NSDictionary。

設置選取器的 delegate ,就可以將一個委托賦予選擇器:

  1. picker.delegate =self;  
在你的委托類中實現下面的方法,這樣當選取一個圖像時,委托類就會得到通知:
  1. - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo{  
  2.     /*添加處理選中圖像代碼*/  
  3. }  
方法的參數包括一個指針,指向報告當前操作的圖像選取器控制器,這樣你就可以在一個委托中處理多個選取器。參數還包括一個指向 UIImage 對象自身的指針,以及一個字典對象,其中包含有關於圖像在屏幕上如何被縮放以及移動的信息。

你可能在用戶取消圖像選擇時也想要得到通知。要達到這一目的,要在代理中實現 imagePickerControllerDidCancel 方法。他會在取消選擇時被調用,以指向被取消的圖像選取器指針為參數:

  1. - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{  
  2.     /*添加代碼,處理選中圖像又取消的情況*/  
  3. }  
最后附上代碼例子。 UIImagePickerControllerDemo

 


免責聲明!

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



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