Когда я пытаюсь программно отображать контроллер popover view, это не сработает, и я не знаю почему. Я скопировал из нескольких источников в Интернете, и ничего не работает, я получаю ту же самую ошибку в консоли каждый раз, показывая Warning: Attempt to present <AddFriendsPopoverViewController> on <MainPageViewController> whose view is not in the window hierarchy!
. Я потерял и не могу понять, в чем проблема, спасибо заранее!Настоящий контроллер Popover View Swift
Вот мой скор код в моей viewDidLoad()
функции:
let addFriendsPopoverViewController = AddFriendsPopoverViewController()
override func viewDidLoad() {
super.viewDidLoad()
if (PFUser.currentUser()?["numberOfFriends"])! as! NSObject == 0 {
print(PFUser.currentUser()?["numberOfFriends"])
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("AddFriendsPopoverViewController") as! UIViewController
vc.modalPresentationStyle = UIModalPresentationStyle.Popover
vc.preferredContentSize = CGSizeMake(50, 50)
let popoverMenuViewController = vc.popoverPresentationController
popoverMenuViewController!.permittedArrowDirections = .Any
popoverMenuViewController!.delegate = self
popoverMenuViewController!.sourceView = self.view
popoverMenuViewController!.sourceRect = CGRectMake(
100,
100,
0,
0)
self.presentViewController(vc, animated: true, completion: nil)
}
}
EDIT Я понял, что для поповера работать с iPhone следующий код необходим.
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController!) -> UIModalPresentationStyle {
// Return no adaptive presentation style, use default presentation behaviour
return .None
}
Это сделал трюк, но у меня возникают проблемы, обозначающей размер для того, чтобы показать вверх по настоящему вид контроллера, как бы я идти о том, что делать? – nviens
Вы начали свой addFriendsPopoverViewController из раскадровки? – realtimez
Да, я сделал, я обновил свой вопрос, включив код инстанцирования. Он загружает popover, но появляется полный экран, несмотря на то, что я устанавливаю 'preferredContentSize.' – nviens