Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Swift Present Popover View из UIButton

Автор вопроса: rocket101Ответов: 1

Вопрос

Привет. Как в Swift представить всплывающее окно из UIButton, созданного раскадровкой, чтобы получить фотографии из библиотеки фотографий? Я разобрался с библиотекой фотографий, но не с представлением контроллера представления.

Исследования

Я нашел инструкции о том, как сделать подобную вещь из BarButtonItem примерно на полпути вниз здесь.

Текущие попытки

Я пытаюсь использовать следующий код.

self.imagePicker.delegate = self
self.imagePicker.sourceType = UIImagePickerControllerSourceType.SavedPhotosAlbum;
self.imagePicker.allowsEditing = false

self.imagePicker.modalPresentationStyle = .Popover
presentViewController(self.imagePicker, animated: true, completion: nil)//4
self.imagePicker.popoverPresentationController?.photo = sender

где photo является UIButton, из которого я хочу представить это модальное представление. Для простоты даны только части кода, связанные с представлением представления.

я тоже пробовал

self.imagePicker.delegate = self
            self.imagePicker.sourceType = UIImagePickerControllerSourceType.SavedPhotosAlbum;
            self.imagePicker.allowsEditing = false

            self.imagePicker.modalPresentationStyle = .Popover
            self.imagePicker.popoverPresentationController!.sourceRect = self.photo.bounds
            self.presentViewController(self.imagePicker, animated: true, completion: nil)

что дает сигабрт,

Действие

Когда приведенный выше код набирается, Xcode выдает ошибку

использование неразрешенного идентификатора "отправитель"

Ожидаемое действие

Я хочу, чтобы было представлено всплывающее окно, содержащее библиотеку фотографий, как показано на этом изображении:

Ожидаемое поведение

Что я делаю неправильно? Спасибо!

  • Определен ли отправитель в этом кодовом блоке? Msencenb 01.09.2015
  • @Msencenb Нет. Как мне это сделать? rocket101 01.09.2015
  • Последняя строка в этом коде ссылается на переменную отправителя. Часто это используется с IBOutlets, но ошибка означает, что отправитель не определен. Msencenb 01.09.2015
  • может что-то вроде этого? self.imagePicker.popoverPresentationController.sourceRect = photo.bounds Lucho 01.09.2015
  • @Lucho Я получаю сигабрт, когда делаю это rocket101 02.09.2015
  • @rocket101 вот еще одна ссылка с чем-то похожим. может быть, добавив actionSheet.popoverPresentationController?.sourceView = photo, фотография отличается от нуля? Lucho 02.09.2015

iosswiftuipopovercontroller

Ответы

Ответ 1 · рейтинг 2 · Lucho

попробуйте установить исходный вид всплывающего окна, как это

actionSheet.popoverPresentationController?.sourceView = photo

Надеюсь, поможет.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы