[英]How can I get the height of a view after screen rotation in swift?
有一個視圖,我在故事板中添加約束,所以它會在屏幕旋轉后改變它的大小,那么如何在屏幕旋轉后獲得它的高度和寬度? 我在這樣的旋轉事件函數中嘗試了這個:
override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator)
{
println("h:\(view.bounds.size.height)")
println("w:\(view.frame.size.width)")
}
但它只給我旋轉前的尺寸。 我想得到類似的東西:
“現在是風景,高度是......寬度是......”“現在是肖像,高度是...寬度是...”在旋轉事件功能
您正在使用的功能說“將轉換”,這意味着轉換未完成,因此您無法獲取新的大小。
你需要使用:
dispatch_async(dispatch_get_main_queue()) {
println("h:\(view.bounds.size.height)")
println("w:\(view.frame.size.width)")
}
旋轉完成后(在主隊列中)將執行此代碼,並且新的大小可用。
問候。
針對Swift 3更新了crom87的答案:
override func viewWillTransition( to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator ) {
DispatchQueue.main.async() {
print( "h:\(self.view.bounds.size.height)" )
print( "w:\(self.view.frame.size.width)" )
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.