hig*_*ech 2 modalviewcontroller ios swift
iPad 上 modalPresentationStyle - FormSheet 的高度究竟是多少?我写了一行代码来获取 self.view 的高度,如下所示:
println("Height - modalPresentationStyle FormSheet: \(self.view.frame.size.height)")
Run Code Online (Sandbox Code Playgroud)
经过测试,我得到了这两个结果:
ModalViewController 上没有 Formsheet,高度为1024.0
在 modalPresentationStyle 上使用 Formsheet 时,高度为1024.0 ,这是错误的,因为高度应该小于 1024.0
知道它有什么问题吗?我需要使用表单从 self.view.frame.size.height 中获得正确的高度,因为我需要在代码中的某处编写公式。我不需要更改表单的大小。
不要实现你的printlninsideviewDidLoad而是 inside viewDidAppear。
在带有Segue的 Storyboard 中呈现的以下类:Present Modally和Presentation:Form Sheetprintln在调用时给出不同的结果viewDidLoad,viewWillAppear或者viewDidAppear:
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
}
}
Run Code Online (Sandbox Code Playgroud)