2014-09-25 6 views
0

2 일 동안 작업 중이므로 해결할 수 없습니다. 나는 내 UIViewController에서 이와 같은 전체 화면 버튼을 보여줍니다.iOS 8에서 UIWindow 하위보기가 작동하지 않습니다.

_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 및 이전 OS에서 예상 한 것과 동일합니다. 그러나 iOS 8에서는 작동하지 않습니다. 사용하고 싶지 않습니다.

_tutorialButton.layer.zPosition = MAXFLOAT; 

왜냐하면 나에게 더러운 해결책이기 때문입니다. 또한이 메서드를 사용하는 경우 UITabBar 및 UINavigationBar를 숨길 필요가 있습니다. 이 iOS 8 버그입니까? 아니면 제가 잘못하고 계시나요?

+0

Xcode 6에서 새로운 "디버그 뷰 계층 구조"기능을 사용해 보셨습니까? –

+0

예. 시도했으나 계층 구조에서 내 버튼을 볼 수 없습니다. –

답변

1

iOS 8에서도 동일한 문제가 발견되었습니다. 일부 화면에서는 UIWindow가 하나가 아닌 여러 개의 하위보기를 가지고있는 것으로 나타났습니다. 마지막 UIWindow 서브 뷰에 내 뷰를 추가하면이 문제가 해결되지만, 대신 전체 탐색을 재 작업해야하는지 여부는 확실하지 않습니다.

어쨌든, 다음과 같이 코드를 수정하려고 :

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

UPD : 내 최종 솔루션은 UIWindows '파단에없는 하위 뷰를 추가했지만, 대신에 내 네비게이션 컨트롤러 볼 수 있습니다. 따라서 당신은 어떤 UIWindow 하위 뷰가 있을지 짐작할 필요가 없습니다.

관련 문제