Поверните, чтобы закрыть нижнюю половину экрана - PullRequest
0 голосов
/ 02 августа 2020

Я пытаюсь реализовать всплывающее окно, закрывающее нижнюю половину экрана. Однако по какой-то причине он неправильно вычисляет ширину и высоту всплывающего окна.

Это мой код:

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)

Это то, что отображается в настоящее время (всплывающее окно - это фиолетовый прямоугольник):

enter image description here

I want it look like:

введите описание изображения здесь

Как заставить всплывающее окно закрывать нижнюю половину экрана?

...