2014-09-25 30 views
0

我一直工作了2天,無法解決。我有一個全屏按鈕,我這樣顯示在我的UIViewController中;UIWindow子視圖無法在iOS 8上工作

_tutorialButton.frame = CGRectMake(0.0f, 0.0f, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height); 
UIWindow *window = [[UIApplication sharedApplication].windows objectAtIndex:0]; 
[[[window subviews] objectAtIndex:0] addSubview:_tutorialButton]; 

此代碼正如我在iOS 7和更早版本操作系統上所預期的那樣工作。但它不適用於iOS 8.我不想使用

_tutorialButton.layer.zPosition = MAXFLOAT; 

因爲這對我來說太髒了。此外,如果我使用這種方法,我需要隱藏我的UITabBar和UINavigationBar。這是iOS 8的錯誤還是我做錯了什麼?

+0

您是否嘗試過Xcode 6中新的「調試視圖層次結構」功能? – 2014-09-25 12:28:55

+0

是的,我試過了,不能在層次結構中看到我的按鈕。 – 2014-09-26 10:45:23

回答

1

在iOS 8中,我發現了同樣的問題。 事實證明,在一些屏幕上UIWindow有幾個子視圖,而不是一個和唯一的。 將我的視圖添加到最後一個UIWindow子視圖解決了這個問題,但我不確定是否應該改寫我的整個導航。

無論如何,嘗試修改你這樣的代碼:

[[[window subviews] objectAtIndex:[[window subviews] count]-1] addSubview:_tutorialButton]; 

UPD: 我最終的解決辦法是不添加子視圖UIWindows'子視圖,但我的導航控制器的視圖來代替。因此,你不需要猜測哪個UIWindow子視圖是你的,如果有幾個'em'

相關問題