Я пытаюсь реализовать всплывающее окно, закрывающее нижнюю половину экрана. Однако по какой-то причине он неправильно вычисляет ширину и высоту всплывающего окна.
Это мой код:
let storyboard : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "CommentsViewController") as! CommentsViewController
vc.modalPresentationStyle = .popover
vc.preferredContentSize = CGSize(width: self.view.frame.width, height: self.view.frame.height/2)
let popover: UIPopoverPresentationController = vc.popoverPresentationController!
popover.delegate = self
popover.permittedArrowDirections = UIPopoverArrowDirection(rawValue: 0)
popover.sourceView = self.view
popover.sourceRect = CGRect(x: 0, y: self.view.bounds.midY, width: self.view.frame.width, height: self.view.frame.height/2)
self.present(vc, animated: true, completion:nil)
Это то, что отображается в настоящее время (всплывающее окно - это фиолетовый прямоугольник):
I want it look like:
введите описание изображения здесь
Как заставить всплывающее окно закрывать нижнюю половину экрана?