[英]ios: UIView's width and height after changing orientations is inaccurate?
我試圖確保即使更改方向后,我的自定義UIView
始終位於屏幕中央。
所以我試圖用UIView
的超級視圖做一些數學運算,這是程序的主視圖(因此它占據了整個屏幕)。
我注意到在方向更改后打印出超級視圖的框架的寬度和高度時,它的寬度和高度在第一次旋轉后就沒有改變,這不是我以后期望的。
出乎意料的是,當設備處於縱向模式時,寬度= 480,高度=320。當設備處於橫向模式時,寬度= 320,高度= 480。
我從這些數字得到:
CGRect sFrame = [self superview].frame;
NSLog(@"width = %f, height = %f", sFrame.size.width, sFrame.size.height);
這是在我的自定義UIView中。
超級視圖的框架不會自動更新嗎? 如果沒有,我應該在哪里獲得准確的寬度和高度? 有一個更好的方法嗎?
非常感謝你!
使用autoresizingMask
view.center = view.superview.center;
view.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;
那么您不必再編寫任何代碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.