|
聲明
歡迎轉載,但是請尊重作者勞動成果,轉載請保留此框內聲明,謝謝。文章出處:http://blog.csdn.net/iukey |
UIImagePickerController 圖像選取器是一種導航控制器類,讓你可以在應用程序中添加簡單的圖像選擇功能或者照相機界面。用戶會看到一個圖像選擇屏幕,在其中挑選相片,相片的來源則 是他自己的相片庫、保存下來的相片集或者照相機。當用戶選定一個相片后,就會通過 UIImagePickerDelegate 協議中的方法,通知選取器的委托。
你可以用 UIImagePickerController 類來創建圖像選取器,並且可以將其作為一個獨立的導航控制器,添加到窗口中。
一、創建並添加到視圖中
- UIImagePickerController* picker = [[UIImagePickerController alloc]init];
- [self.view addSubview:picker.view];
二、圖像來源
你可以通過 sourceType 屬性設定多種圖像來源,呈現給用戶:
- picker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
- enum {
- UIImagePickerControllerSourceTypePhotoLibrary,//相片庫
- UIImagePickerControllerSourceTypeCamera,//照相機
- UIImagePickerControllerSourceTypeSavedPhotosAlbum//保存的相片
- };
- typedef NSUInteger UIImagePickerControllerSourceType;
要讓用戶可以隨意移動以及縮放圖像,可以將 allowsImageEditing 屬性設置為 YES,打開圖像編輯功能:
- picker.allowsEditing=YES;
當用戶選擇一個圖片之后,選擇器的委托會通過 didFinishPickingImage 方法接到通知。代理會得到一個包含有該圖像的 UIImage 對象,如果編輯功能開啟的話,還會得到一個包含了編輯屬性的NSDictionary。
設置選取器的 delegate ,就可以將一個委托賦予選擇器:
- picker.delegate =self;
- - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo{
- /*添加處理選中圖像代碼*/
- }
你可能在用戶取消圖像選擇時也想要得到通知。要達到這一目的,要在代理中實現 imagePickerControllerDidCancel 方法。他會在取消選擇時被調用,以指向被取消的圖像選取器指針為參數:
- - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
- /*添加代碼,處理選中圖像又取消的情況*/
- }
