2012-03-07 3 views
-1

Я создал приложение для iPhone. У меня есть кнопка в представлении. Нажав кнопку, я хочу получить фотографию из библиотеки фотографий iPhone. И установите эту выбранную фотографию в кнопку. Как я могу это сделать. благодарит заранее.Получить фото с iPhone Библиотека фотографий

+0

увидеть это [ссылка] (Http: // idevhub. ком/сбор-образы-с-iphone-СДК-UIImagePickerController /) – hchouhan02

ответ

1

Несколько дней назад я делаю что-то подобное для ipad.

Позвоните по телефону photoButton, и это переменная в нашем контроллере. Также добавьте переменную popoverController (это необходимо для увольнения popover).

При нажатии photoButton мы называем следующий метод:

- (void)photoButtonPressed:(id)sender { 
     UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init]; 
     imagePickerController.delegate = self; 
     imagePickerController.allowsEditing = NO; 
     imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; 
     popoverController = [[UIPopoverController alloc] initWithContentViewController:imagePickerController]; 
     popoverController.delegate = self; 
     [popoverController presentPopoverFromRect:sender 
              inView:self.view 
         permittedArrowDirections:UIPopoverArrowDirectionAny 
             animated:YES]; 
     [imagePickerController release]; 
} 

Кроме того, вы должны реализовать следующие методы для поддержки протокола UIImagePickerControllerDelegate и UIPopoverControllerDelegate:

#pragma mark - UIImagePickerControllerDelegate 
- (void)imagePickerController:(UIImagePickerController *)picker 
     didFinishPickingImage:(UIImage *)selectedImage 
        editingInfo:(NSDictionary *)editingInfo { 
    [photoButton setImage:selectedImage forState:UIControlStateNormal]; 
    if ([popoverController isPopoverVisible]) { 
     [popoverController dismissPopoverAnimated:YES]; 
    } 
} 

#pragma mark - UIPopoverControllerDelegate 
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverContr { 
    [popoverContr release]; 
    if (popoverContr == popoverController) 
     popoverController = nil; 
}