Я хочу показать всплывающее окно на iPad, как только загрузится мой вид с кнопкой в верхнем правом углу. Всплывающее окно отображается правильно при нажатии кнопки, но я не могу найти способ отобразить его без нажатия кнопки при первой загрузке страницы. Это возможно?
Вот что у меня есть:
func displayOptions(sourceButton: UIBarButtonItem)
let actionSheet = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
if let popoverController = actionSheet.popoverPresentationController {
var rect = CGRect(x: 0, y: 0, width: 0, height: 0)
popoverController.barButtonItem = sourceButton
popoverController.sourceRect = rect
popoverController.permittedArrowDirections = .up
}
viewController.present(actionSheet, animated: true, completion: nil)
}
Этот код работает правильно при нажатии кнопки, но приложение вылетает, если я пытаюсь вызвать эту функцию из viewDidLoad или viewDidAppear:
Вы должны предоставить информацию о местоположении для этого всплывающего окна через контроллер popoverPresentationController контроллера предупреждений. Вы должны предоставить либо sourceView и sourceRect, либо barButtonItem.