2014-01-05 2 views
0

전체 응용 프로그램에서 볼 수 있어야하는 UIView를 만들려고합니다. 유일한 방법은, 내가 할 수있는 일은 UIWindow *window = [[UIApplication sharedApplication].windows objectAtIndex:0]에 addSubview입니다. AppDelegate에서 그 일을합니다. 지금까지 영원히 괜찮습니다.objectAtIndex를 만드는 방법 : 항상 0이 표시됩니까?

window = [UIApplication sharedApplication].keyWindow; 
[[[window subviews] objectAtIndex:0] addSubview:myView]; 

왼쪽 하단 구석에 작은 uiview입니다. 이보기에서는 백그라운드에서 다른 작업을 수행하면서 비디오를 재생하고 싶습니다. 그러나 다른 ViewController를 누르거나 rootViewController을 변경하면 사라지고 다시 추가해야합니다.

rootViewControllerobjectAtIndex:0에 추가되었거나 rootViewController을 변경하면 모든 것이 제거됩니까? 나는 그것이 사라지면 어디에서나 readd 시도했지만 가장 좋은 해결책이있다! 즉, 가능성을 잃지 않고 어떻게 추가 할 수 있습니까?

+0

창에 서브 뷰로 그보기를 추가 position.z = 100을 사용하십시오. – santhu

+0

@santhu position.z을 어떻게 설정할 수 있습니까? –

+0

view.layer.zPosition을 사용합니다. – santhu

답변

0

사라 졌거나 새로운보기가 추가 되었습니까?

일반적으로 현재보기 컨트롤러는 항상 창 상단에 자체보기를 표시합니다.

당신은 이미지와 배경보기를 표시하는 경우는, 다음 기본적으로 모든 화면 배경 이미지를 유지하는 방법이 ... 당신은 윈도우 층에

self.view.window.layer.contents = (id)[backgroundImage CGImage]; 
+0

아니 배경이 아니며, UIView 자체 프레임 및 사물 있음! –

0

내가 돈을 추가해야 앱의 모든보기 컨트롤러 상단에 떠있는 뷰를 만들 수 있다고 생각하지 않습니다. 뷰와 뷰 컨트롤러가 작동하는 방식에 대한 애플의 디자인에 반대한다.

당신은 하나의 뷰 컨트롤러 컨트롤러로 애플리케이션을 만들 수 있습니다. 그 뷰 컨트롤러는 컨테이너 크기가 화면 크기입니다. 그런 다음 앱의 "실제보기 컨트롤러 트리를 소스보기를 사용하여 해당 컨테이너보기에 포함시킬 수 있습니다. 그런 다음 가장 상단의보기 컨트롤러에 부동보기를 놓고 원하는 효과를 얻을 수 있습니다.

+0

사과의 디자인에 반대한다면, 그들은 내 앱을 거부 할 것입니다. 앱 스토어에 넣으려고합니까? –

0

UIWindow을 새로 만든 다음 제공하십시오. 충분히 높은 windowLevel (예. UIWindowLevelStatusBar 트릭을 수행해야합니다). 그런 다음 창으로 볼 수 마지막 NOhidden 속성을 설정하여 그것을 볼 수 있도록 할 뷰를 추가 할 수 있습니다.

+0

이 UIWindow 뒤에 interAction이 디아 일! –

관련 문제