iOS開發-照片選擇


本來想做個注冊登錄的表單的,想想還是先做個簡單的頭像選擇,一般情況下不管是內部管理系統還是面向公眾的互聯網公司,注冊登錄是免不了的,用戶頭像上傳是免不了的,尤其是企業用戶,上傳了自己的圖片才感覺自己買的系統是比較值的。iOS開發中上傳圖片還是比較簡單的,通過UIImagePickerController和協議就很容易的實現的圖片的選擇和上傳。

頁面布局

首先看下視圖,一個按鈕,一個標簽和一個ImageView:

界面很簡單,頭文件中聲明一下UIImageView:

@property (weak, nonatomic) IBOutlet UIImageView *imageView;

 Demo實現

上傳按鈕的代碼,具體方法已經注釋:

//選擇頭像
- (IBAction)chooseImage:(id)sender {
    //實例化照片選擇控制器
    UIImagePickerController *pickControl=[[UIImagePickerController alloc]init];
    
    //設置照片源
    [pickControl setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
    
    //設置協議
    [pickControl setDelegate:self];
    
    //設置編輯
    [pickControl setAllowsEditing:YES];
    
    //選完圖片之后回到的視圖界面
    [self presentViewController:pickControl animated:YES completion:nil];
    

}

設置協議,需要頭文件中聲明一下:

@interface ViewController : UIViewController <UINavigationControllerDelegate,UIImagePickerControllerDelegate>

@property (weak, nonatomic) IBOutlet UIImageView *imageView;

@end

之后需要在返回的時候顯示圖片使用協議中的imagePickerController方法:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
    
//    UIImage *image=info[@"UIImagePickerControllerOriginalImage"];
    
     UIImage *image=info[@"UIImagePickerControllerEditedImage"];
    
    [self.imageView setImage:image];
    
    //選取完圖片之后關閉視圖
    [self dismissViewControllerAnimated:YES completion:nil];
   
}

 需要注意的,如果需要不需要編輯,獲取image的方法為:

UIImage *image=info[@"UIImagePickerControllerOriginalImage"];

 最終效果演示:


免責聲明!

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



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