블로그 이미지
안녕하세요~ iolate(a.k.a. isho) 의 블로그 입니다~! iolate

카테고리

분류 전체보기 (171)
Server, Cloud (7)
끄적끄적 (6)
Linux, Ubuntu (26)
개발개발 (45)
Mac, iOS (41)
Embedded (19)
NAS (1)
Web (5)
Network (3)
Review (10)
기타 (8)
비공개글 (0)
Total637,446
Today146
Yesterday92

'화면회전'에 해당되는 글 1건

  1. 2013.03.24 화면 회전 감지하기

보통은 UIViewController 안에서의 메서드나, 따로 노티를 등록해서 감지하지만,

트윅에선 여의치 않거나 저 방법을 쓰기 싫을때가 있다.


각 앱에선 뭘 후킹해야 할지 잘 모르겠고 SpringBoard 에서 후킹해서 노티를 날려주는 방법으로 사용하고 있음.


출처는 MouseSupport 의 소스...ㅋㅋㅋ


%hook SpringBoard

iOS3.2~5

-(void)frontDisplayDidChange

-(void)noteInterfaceOrientationChanged:(int)orientation


iOS6

-(void)noteInterfaceOrientationChanged:(int)orientation duration:(double)duration



iOS6 의 경우 화면회전 되기 전에 호출되는 듯.(아닐 수도 있고)

orientation 인자를 받거나 0.2 초 정도 후에 회전값을 받아오면 된다.


그리고 화면 값 자체는 UIApp([UIApplication sharedApplication]) 의 statusBarOrientation 를 받아왔었는데 원래 그랬는지

iOS6 이후 바뀌었는지 SpringBoard 의 화면회전 상태만을 기억하고 받아오지, 현재 실행중인 앱의 회전 값은 받아오지 않음.

마찬가지로 UIApp의 activeInterfaceOrientation 메서드를 사용하면 정상적으로 받아올 수 있다.

만약 SpringBoard 가 아니라 각 앱에서 노티를 받는다면 크게 상관없을 거고...


iOS6 이전에도 존재했는지는 확실치 안아서 그냥 respondsToSelector 로 넘겼음.

Posted by iolate

최근에 달린 댓글

최근에 받은 트랙백

글 보관함