Форум программистов, компьютерный форум CyberForum.ru

Выплывающее меню по нажатию кнопки (popover?) - Swift

Восстановить пароль Регистрация
 
nkYellOw
 Аватар для nkYellOw
12 / 12 / 5
Регистрация: 23.10.2012
Сообщений: 43
26.02.2016, 16:02     Выплывающее меню по нажатию кнопки (popover?) #1
Добрый день! Изучаю свифт, сейчас столкнулся с проблемой, по кнопке выбора фото хочу сделать всплывающее окно с выбором фото (сделать снимок, выбрать из галереи,отмена)

На текущий момент времени решил на половину через popoverPresentationController (
Всплывает окно с тремя кнопками около кнопки выбора, по которой вызывается данное меню
но при выборе не понимаю как передать выбранное значение в основное окно с главной кнопкой
и как при закрытии поповера выполнять действия в главном окне, popoverPresentationControllerDidDismissPopover в данном случае не работает

как я создавал поповер:
1) Есть главный VC с одной кнопкой
2) Есть второй VC с типом поповер и таблицей на VC с тремя значениями (Камера, Галерея,Отмена)
3) Кнопка главного окна present as popover
4) задал идентификатор для VC popover "showPhotoProperties"

5) при нажатии на кнопку в главном VC

Objective-C
1
self.performSegueWithIdentifier("showPhotoProperties", sender: self)
и добавил две функции:

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
       
        if segue.identifier == "showPhotoProperties" {
            let vc = segue.destinationViewController
            
            vc.preferredContentSize = CGSize(width: 200, height: 165)
            
            let controller = vc.popoverPresentationController
            if controller != nil{
                controller?.delegate = self
                
            }
            
        }
    }
    
    func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
        
        return .None;
    }

пытался решить через opener:ViewController в классе поповера
но при этом я могу менять элементы главной формы но к переменным доступа не имею, геморой в том, что если я поменяю какую либо переменную то при закрытии формы мне нужно на главной форме считывать изменение переменной и вызывать необходимую функцию в зависимости от выбранного значения(камера,галерея)
что не логично и не красиво с точки зрения программиста

Либо необходимо при выборе значения на поповере VC закрывать popover VC и вызывать какую нибудь функцию на главном VC (как это сделать?)

swift только изучаю, поэтому извиняюсь за придуманные костыли! изучение идет медленно но в правильном направлении =)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2016, 16:02     Выплывающее меню по нажатию кнопки (popover?)
Посмотрите здесь:

HTML, CSS выплывающее меню
JavaScript Выплывающее меню
C# Блокировка меню по нажатию правой кнопки
Web Как отключить выплывающее меню?
HTML, CSS Криво выплывающее меню
Выплывающее меню CSS HTML, CSS
HTML, CSS Не делает выплывающее меню в рамку
Контекстное меню по нажатию правой кнопки мыши на форме C#
Android Меню только по нажатию кнопки меню
Сохранение данных по нажатию кнопки "Home" Swift
JavaScript выплывающее меню
Клик по кастом-строке таблицы - переход, не пойму как сделать наличие кнопки back Swift

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
cin_cout
25 / 25 / 7
Регистрация: 06.10.2012
Сообщений: 117
26.02.2016, 16:47     Выплывающее меню по нажатию кнопки (popover?) #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вариант решения через UIAlertController

Objective-C
1
2
3
4
5
preferredStyle: .ActionSheet 
 
let cancelAction = UIAlertAction(title: "Cancel" ...) 
let takePhotoAction = UIAlertAction(title: "Take photo with camera" ... handler: {_ in self.takePhotoMethod()})
let choosePhotoAction = UIAlertAction(title: "Choose photo from collection" ... handler: {_ in self.choosePhotoFromCollectionMethod()})
Вполне себе легковесное решение.
Сконфигурировать MyImagePickerController: UIImagePickerController, у него заготовки sourceType есть, удобно.
Назначить его делегатом ваш текущий VC.
Yandex
Объявления
26.02.2016, 16:47     Выплывающее меню по нажатию кнопки (popover?)
Ответ Создать тему

Метки
swift, xcode
Опции темы

Текущее время: 08:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru