modalPresentationStyle – FormSheet在iPad上的高度究竟是什么?

modalPresentationStyle – FormSheet在iPad上的高度究竟是什么? 我写了一行代码来获取self.view的高度,如下所示:

println("Height - modalPresentationStyle FormSheet: \(self.view.frame.size.height)") 

testing后我得到了这两个结果:

ModalViewController没有窗体 ,高度为1024.0

使用modalPresentationStyle上的Formsheet ,高度为1024.0 ,这是错误的,因为高度应该小于1024.0

任何想法有什么问题吗? 我需要从self.view.frame.size.height与表格中获得正确的高度,因为我需要在代码中的某处编写公式。 我不需要改变表格的大小。

不要在viewDidLoad里实现你的println ,而是在viewDidAppear里面。

Segue:Present ModallyPresentation:Form Sheet在故事板中呈现的以下类在viewDidLoadviewWillAppearviewDidAppear调用时为同一个println提供了不同的结果:

 class ViewController2: UIViewController { override func viewDidLoad() { super.viewDidLoad() println(view.frame) // (0.0, 0.0, 768.0, 1024.0) } override func viewWillAppear(animated: Bool) { super.viewWillAppear(animated) println(view.frame) // (0.0, 0.0, 768.0, 1024.0) } override func viewDidAppear(animated: Bool) { super.viewDidAppear(animated) println(view.frame) // (0.0, 0.0, 540.0, 620.0) // Correct values } }