2012-12-25 3 views
2

appDelegate에서이 코드는 내 응용 프로그램이 작동하게 이상한"UIWindowLevelStatusBar + 1"이상한 키보드 행동

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    self.window.windowLevel = UIWindowLevelStatusBar + 1; 
    return YES; 
} 

나는 아래로 슬라이딩하지, 뷰 아래에 사라지는 내 키보드를 얻고 기능 [myTextView resignFirstResponder]에서 키보드를 숨기고 때 그것은해야한다.

이것을 변경하는 가장 좋은 방법은 무엇입니까? UIWindowLevelStatusBar + 1이 모든 앱 구조를 엉망으로 만드는 이유는 무엇입니까?

편집 :

난 할 노력하고있어하면 statusBar 최상위에서 뷰를 작성합니다. appDelegateUIWindowLevelStatusBar + 1을 잘못 설정하면 어떻게됩니까?

답변

1

또한 키보드는 창에 존재하며 (화면의 모든 항목이 해당) 창 크기가 창 크기보다 작습니다.

왜 창 수준을 너무 높게 설정합니까? 당신이 성취하려는 것을 우리에게 말해 준다면, 우리는 대안을 제안 할 수 있습니다.

+0

체크 아웃 내 편집. 어쩌면 더 높은 레벨에 키보드를 넣을 수 있습니까? –

+0

하지만 * 왜 * 당신이 그것을하려고합니까? 여기 실제 목표는 무엇입니까? –

+0

정상적인 키보드 슬라이딩/실종 동작을 유지하면서 statusBar를 덮어서 무언가를 표시 할 수있는 뷰 만들기 *. –

0

상태 표시 줄을 숨기고 탐색 모음의 프레임을 간단하게 설정하십시오.

CGRect statusFrame = [UIApplication sharedApplication].statusBarFrame; 
[[UIApplication sharedApplication] setStatusBarHidden:YES]; 
self.navigationController.navigationBar.frame = CGRectMake(0, statusFrame.size.height, 320,46); 
[[AppDelegate instance].window addSubview:statusView]; 
2

남자는, 나는이 2 년 된 것을 알고 있지만, 여기 간다 :

아이폰 OS 7, 8에서 작동하지 9 베타 테스트.

상태 표시 줄에 시세 표시를 추가하고 있습니다. 그래, 나는 사과가 그것을 좋아하지 않는다는 것을 알고있다, 그러나 사용자는 다른 곳에 그것을 거기에 사용할 선택을한다. 상태 표시 줄 (캐리어, 시간, 배터리)의 내용을 숨길 때

응용 프로그램 위임에

, 당신은 전화 :

self.window.windowLevel = UIWindowLevelStatusBar+1; 

확인

문제는 방법을 알아 내려고했다 내용을 되찾아, 맞지? 그게 내 문제 였어. 여기있다 :

self.window.windowLevel = UIWindowLevelStatusBar-1; 

안녕