Я не уверен, что вы имеете в виду под «установить в uicollectionviewcell», но вот как можно получить фотографии из альбома.
- Спросите разрешения
- Покажите UIImagePickerController (который по умолчанию изображение вида сборщика яблоко, созданный для нас)
- реализации методов делегата обрабатывать принимаемое изображение из UIImagePickerController
код будет выглядят следующим образом:
Оператор импорта:
#import <Photos/Photos.h>
Инстанцировать контроллер сборщика изображения, чтобы показать:
UIImagePickerController* imagePicker = [[UIImagePickerController alloc]init];
// Check if image access is authorized
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
// Use delegate methods to get result of photo library -- Look up UIImagePicker delegate methods
imagePicker.delegate = self;
[self presentViewController:imagePicker animated:true completion:nil];
}
Я считаю, что это, как правило, запрашивает у пользователя для доступа к библиотеке фотографий, но это всегда хорошая практика, чтобы обрабатывать все случаи авторизации до просто пытаемся покажите imagepicker.
Спросите разрешение:
PHAuthorizationStatus status = [PHPhotoLibrary authorizationStatus];
if(status == PHAuthorizationStatusNotDetermined) {
// Request photo authorization
[PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) {
// User code (show imagepicker)
}];
} else if (status == PHAuthorizationStatusAuthorized) {
// User code
} else if (status == PHAuthorizationStatusRestricted) {
// User code
} else if (status == PHAuthorizationStatusDenied) {
// User code
}
Наконец реализовать методы делегата:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *image = info[UIImagePickerControllerOriginalImage];
// Do something with picked image
}
После вы выбираете изображение, вы можете добавить его в недавно реализованный UICollectionViewController. Это, вероятно, еще один вопрос, и вам было бы лучше читать документацию для этого. Обратите внимание, что это было введено в IOS8 (я думаю?), Но код маршрута AL будет похож на приведенный выше.
Добавлено
Фото библиотека просто другая база данных, но вы все равно должны спросить у пользователя разрешения. шагов будут выглядеть следующим образом:
- Спросите разрешения
- Получить фотографии из библиотеки фотографий
Я не сделал # 2 сами, но там, кажется, способ сделать это.
Get all of the pictures from an iPhone photoLibrary in an array using AssetsLibrary framework?
Из беглого взгляда, кажется, что это асинхронная функция, так что вы должны кодировать соответствующим образом (я бы вызвать функцию requestImage внутри каждый UICollectionViewCell, если я вам).
Оставьте комментарий, если вы столкнулись с какими-либо проблемами. Удачи!
может быть, я не прав был поставлен вопрос. Мне нужно заполнить фотографии UICollectionViewCell из альбома при открытии ViewController, не прибегая к ImagePicker, как это – m9st