Задать вопрос
@Scorpiored88

Как реализовать popup на iPhone?

Всем доброго! Вот решил изучать програмирование под ios, пока только с objective-c (просьба не писать - зачем учить objective-c , учи сразу swift...).
Подскажите как на iPhone реализовать popup окно, насколько я понял, подобное существует только для ipad, но все же я хочу прикрутить подобное на свою тестовою программку.
Пытаюсь подобное реализовать с помощю накладки маленького view которое в
- (void)viewDidLoad делаю скрытим addAnimalWindow.hidden = YES;.
Но есть у меня проблемки с дизайном этого view , не получается хвостик туда прикрутить :(
Тоесть должно выглядить как при создании новой записи в календаре на ipad, вот приблизительное фото
add-a-new-event-on-calendar.png
  • Вопрос задан
  • 660 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
0xcffaedfe
@0xcffaedfe
Developer & Reverser
Одно слово: "popover"
Ответ написан
Комментировать
petruska
@petruska
IOS Developer
Комментировать
maximglobak
@maximglobak
iOS developer
Для хвостика есть специальный контроллер
смысл следующий, ты создаешь контроллер свой, который тебе нужно отобразить.
У него будет следующая проперти
(myPopoverViewController это твой контроллер, который ты хочешь отобразить внутри поповера)
myPopoverViewController.modalPresentationStyle = UIModalPresentationPopover;
выставляешь, как в коде выше
Потом тебе нужно его показать функцией, которая описана ниже
[self presentViewController:myPopoverViewController animated: YES completion: nil];

Дальше ты конфигурируешь поповер контроллер
UIPopoverPresentationController *presentationController =
myPopoverViewController.popoverPresentationController;
Указываешь направления хвостика
presentationController.permittedArrowDirections =
UIPopoverArrowDirectionTop;
Потом в sourceView указываешь из какого вью тебе нужно его показывать, откуда будет расти хвостик
presentationController.sourceView = myView;
presentationController.sourceRect = sourceRect;
Таким образом должно все работать
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы