2012-09-18 41 views
0

我工作的一個普遍application.I的低版本的移動視圖了正在使用[self.window addSubview:[_ viewController view]];在iphone

self.window.rootViewController = self.SecondViewController

加載在AppDelegate方法的ViewController類。 這行代碼工作正常的ios版本4和更高版本,但是當我在我的ios 3.1.3上運行它崩潰。

所以我用[self.window addSubview:[SecondViewController view]]替換了代碼,它工作正常,但最初當我們第一次加載應用程序時,視圖向上移動(如屏幕截圖中所示)。

所以好心幫我解決這個問題 謝謝enter image description here

+0

爲什麼...... 1.您是否使用Xcode標籤? (現在閱讀它的標籤維基!)2.你想支持iOS 3嗎? – 2012-09-18 05:05:02

+0

首次檢查您使用的設備版本是否符合您的設備版本設置您的代碼 – Ayaz

+0

@Ayaz:我正在使用ios 3.1.3。視圖正在向上移動,它使我的應用看起來很奇怪。 – sujay

回答

3

rootViewController財產與iOS 4.0中引入的,這是iOS中3.1.3崩潰的原因。

如果使用[self.window addSubview:[SecondViewController view]],則可能會發生視圖控制器視圖未針對狀態欄進行調整。請參閱Offset on UIWindow addSubview以獲得很好的解釋。

的解決方案是將其添加爲子視圖之前分配視圖的框架,你的情況

self.SecondViewController.view.frame = [UIScreen mainScreen].applicationFrame; 

+0

好一個:) thanx .. – Nishant

2
SecondViewController.view.frame = CGRectMake(0, 20, 320, 460); 
[self.window addSubview:[SecondViewController view]]