在包含多個子視圖的視圖中,其中一個子視圖應保持距離超級視圖頂部和底部的固定的非零距離。在這些圖像中,該視圖被示出爲灰色:用於固定邊距尺寸的自動確認邊框
根據文檔,該視圖應具有UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth
的掩模。但是,這導致視圖擴大其高度來接管整個超視圖。如何將觀點限制在固定但非零的邊際?謝謝。
在包含多個子視圖的視圖中,其中一個子視圖應保持距離超級視圖頂部和底部的固定的非零距離。在這些圖像中,該視圖被示出爲灰色:用於固定邊距尺寸的自動確認邊框
根據文檔,該視圖應具有UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth
的掩模。但是,這導致視圖擴大其高度來接管整個超視圖。如何將觀點限制在固定但非零的邊際?謝謝。
UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth
應該工作。但是,當父視圖的高度/寬度變小(並且當它變爲零時所有內容都會中斷)時,UIView自動調整大小存在一個錯誤。—它可能就是UIView的高度/寬度不能變爲負數。
我在做initWithFrame時遇到過這個問題:CGRectZero;如果您在self.bounds爲CGRectZero(或以其他方式)時使用類似subview.frame = self.bounds
的內容,也可能會發生這種情況。
我的蠻力調試方法將重寫setFrame:和setBounds:添加NSLog。
感謝您的建議。奇怪的是,如果我用UIView上的setBounds創建一個類別,並調用super,我會得到「 - [UIView setBounds:]:無法識別的選擇器」。任何想法爲什麼會這樣? – 2010-08-25 17:17:38
因爲一個類別不是一個子類。男孩,那是密集的。 – 2010-08-25 18:06:21
對於類別中的「base-calling」,請參閱http://stackoverflow.com/questions/3487828/if-i-override-a-class-method-is-there-a-way-i-can-call-所述-原始方法-的/ 3490215#3490215 – 2010-09-02 12:45:12
快問題,寬度調整大小的工作? – 2010-08-17 18:47:06
是的。只有高度是有問題的。 – 2010-08-17 19:23:03
在超級視圖上設置了什麼是autoresizing mask?另外,你是在IB還是在代碼中設置掩碼? – 2010-08-17 19:55:46