簡體   English   中英

ios:更改方向后,UIView的寬度和高度不正確?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM