UIImagePickerController

1960 ワード

効果


アイコンボタンがあり、クリックしてアルバムに入り、アルバムから画像を取得し、ボタンの画像を選択した画像に変更します.
  • カスタムUIButtonボタンを作成し、画像
  • を1枚ください.
    
      - (void)createButton {
    
        // 
        UIImage *image = [UIImage imageNamed:@"image.jpg"];`
        
        // button 
        [self.button setImage:image forState:UIControlStateNormal]; 
        
        self.button.frame = CGRectMake(100, 100, 100, 100);
        [self.view addSubview:self.button];
        
        
        // button 
         [self.button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];`
         
     } 
    
    
  • buttonのクリックイベント
  •   - (void)buttonAction:(UIButton *)button{
      
        //  UIImagePickerController 
        UIImagePickerController *picker = [[UIImagePickerController alloc] init];
        
        // 
        picker.allowsEditing = YES;
        
        // 
        //   
        //UIImagePickerControllerSourceTypePhotoLibrary  ( )
        //UIImagePickerControllerSourceTypeCamera  
        //UIImagePickerControllerSourceTypeSavedPhotosAlbum  ( )
        picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
        
        // self 
        // 
        picker.delegate = self;
        
        
        // 
        [self presentViewController:picker animated:YES completion:^{
            
            
        }];
    }
    
    
  • 契約
  • // , 
       @interface ViewController ()
     @end 
    
  • アルバムプロトコル方法
  • を実現する.
    
    - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
        //  info-> " "
        //    NSLog(@"%@", info);
        //  UIImagePickerControllerOriginalImage 
        UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
        //  
        [self.button setImage:image forState:UIControlStateNormal];
        //  
        [self dismissViewControllerAnimated:YES completion:^{
        }];
    }