2010-08-26 40 views
3

我有一個通知視圖,我在啓動後將其添加到應用程序窗口,因此它懸停在所有其他視圖之上。強制autoresizingMask應用於UIView

當用戶旋轉設備時,該視圖不會像UIViewController擁有的那樣自動調整大小。

有沒有辦法手動要求應用視圖的autoresizingMask?或者,或者,如何在設備旋轉時調整視圖控制器的大小?

+0

您是否找到可接受的答案或解決方案?我也有同樣的問題。 – JoePasq 2011-01-18 23:08:35

回答

1

我發現添加到應用程序窗口的視圖甚至不旋轉,更不用說調整大小了。

詢問並回答了此問題Orientation in a UIView added to a UIWindow:將通知視圖添加到窗口的第一個子視圖。

UIWindow* window = [UIApplication sharedApplication].keyWindow; 
if (!window) 
    window = [[UIApplication sharedApplication].windows objectAtIndex:0]; 
[[[window subviews] objectAtIndex:0] addSubview:myView]; 

而且,它也解決了您的問題,您的通知視圖現在應根據其面具調整大小。

0

autoResizingMask與旋轉本身沒有任何關係。它只是定義瞭如何調整視圖的大小,當它的超級視圖被調整大小時。

它應該工作,如果你添加一個頂級視圖控制器,與視圖大小相同的窗口,其中包含所有其他視圖。然後,您的通知視圖將成爲頂層視圖(連接到視圖控制器)的子視圖,並且應該自動旋轉。

0

你有沒有設置:

view.autoresizesSubviews = YES; 
在適當上海華

+1

超視圖是窗口。從這個問題:「我有一個通知視圖,我在啓動後添加到應用程序的窗口中,因此它懸停在所有其他視圖之上。」 – JoePasq 2011-01-18 23:09:04