TODAY : / TOTAL :

[ iOS8 Issue ] 터치 영역이 벗어나는 현상

  • Share this:
반응형
이번 iOS8에서는 UIScreen 관련한 함수들이 바뀌면서, 화면내 레이아웃 구성이 엉망이 되버렸다.
게임과 같이 엔진을 이용하여 빌드한 앱들의 경우엔 덜하지만, 일반 네이티브 언어로 개발된 앱들은 해당 문제가 특히 많이 보인다.


 unexpected nil window in _UIApplicationHandleEventFromQueueEvent, 
_windowServerHitTestWindow: <UIWindow: 0x7fe4d3e52660; frame = (0 0; 320 568); 
opaque = NO; autoresize = RM+BM; gestureRecognizers = <NSArray: 0x7fe4d3e2c450>; 
layer = <UIWindowLayer: 0x7fe4d3e86a10>>

[XCode Log 중.] 

화면은 정상적으로 보이는데 일부 영역에서 터치가 안되는 지점이 발생한다.
 
화면 뷰를 구성하는 코드 중 일부분이다.
 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window makeKeyAndVisible];

 해당 부분을 ...

 self.window = [UIWindow new];
[self.window makeKeyAndVisible];
self.window.frame = [[UIScreen mainScreen] bounds];

이런식으로 또는..

 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

 self
.window.frame = [[UIScreen mainScreen] bounds];

 [
self.window makeKeyAndVisible];

이런식으로 호출해주면 됩니다.

iOS8 업데이트 되면서  initWithFrame 관련해서 바뀐 부분이 있는지, 버그인지는 잘 모르겠습니다만, 터치 영역에 해당하는 프레임을 다시 잡아줘야되는 번거로운 부분이 있습니다.


 :: 참고 링크 ::
- 해당 포스팅과 관련된 스택오버플로우 글 중
반응형

SEARCH

태그로 찾아보기