Данный пример использует фреймворк PhotoUI, который был добавлен в iOS после версии 8. В этом примере используется режим ARC.
Конкретный способ использования: сначала переместите файл класса целиком в проект, а затем вызывайте его там, где это необходимо, например:
- (IBAction)openPhotoLibrary:(id)sender {
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
// Устанавливаем размер элемента
layout.itemSize = CGSizeMake(80, 80);
// Устанавливаем интервал между элементами
layout.minimumInteritemSpacing = 0;
// Устанавливаем расстояние между строками
layout.minimumLineSpacing = 20;
// Устанавливаем отступ для разделов
layout.sectionInset = UIEdgeInsetsMake(20, 0, 0, 0);
PhotoListCollectionViewController* list = [[PhotoListCollectionViewController alloc] initWithCollectionViewLayout:layout];
list.delegate = self;
UINavigationController* navigationViewController = [[UINavigationController alloc] initWithRootViewController:list];
[self presentViewController:navigationViewController animated:YES completion:nil];
}
Поскольку класс выбора изображения использует делегат, необходимо реализовать делегирование. Теперь добавьте в заголовок:
<PhotoListCollectionViewControllerDelegate>
#pragma mark - PhotoListCollectionViewControllerDelegate
- (void)photoListCollectionViewController:(PhotoListCollectionViewController *)photoListCollectionViewController didSelectedImage:(UIImage *)image {
[photoListCollectionViewController dismissViewControllerAnimated:YES completion:^(void){
self.imageView.image = image;
}];
}
- (void)photoListCollectionViewControllerDidCancel:(PhotoListCollectionViewController *)photoListCollectionViewController {
[photoListCollectionViewController dismissViewControllerAnimated:YES completion:nil];
}
Конкретное использование может быть изменено в соответствии с проектом.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )