검색결과 리스트
UIVewController에 해당되는 글 1건
- 2011.07.31 [iOS] 코드상에서 UIViewController 연결할때 위치 문제 4
글
인터페이스 빌더에서 컨트롤러를 연결하면 위치가 잘 나온다.
그런데 프로그램 코드상에서 연결하면 아래와 같이 나온다.
딱 Status Bar 크기 CGRect로 20포인트 만큼 위로 올라갔다.
코드에서 해당 View 를
20 포인트만큼 내려주자.
ps. XCode 3.2와 XCode 4.XX 버전에서 View-base Application을 만들면 내부 구조가 다릅니다. 이부분을 정확하게 확인해 봐야 겠습니다.
지금 문제는 단순하게 밀린 화면을 위로 올린것 뿐 입니다.
#해결 (2011-08-08)
20 포인트로 고정하면 기기에 따른 status바가 다를수 있습니다. 일예로 아이패드와 호환성 문제가 발생할수 있습니다.
이때 UIScreen 으로 장치의 해상도와 실제뷰 화면의 해상도를 가져오면 유리 합니다.
실제 디버깅 값입니다.
참고 : http://maccrazy.tistory.com/74
추가 : 2012.03.04
iOS 5.0 이상부터는 아래와 같이 코딩하면 됩니다.
그런데 프로그램 코드상에서 연결하면 아래와 같이 나온다.
딱 Status Bar 크기 CGRect로 20포인트 만큼 위로 올라갔다.
코드에서 해당 View 를
myRootViewController = [[MyRootViewController alloc] initWithNibName:@"MyRootViewController" bundle:nil]; [self.window addSubview:myRootViewController.view]; [myRootViewController.view setFrame:CGRectMake(0, 20, 320, 460)];
20 포인트만큼 내려주자.
ps. XCode 3.2와 XCode 4.XX 버전에서 View-base Application을 만들면 내부 구조가 다릅니다. 이부분을 정확하게 확인해 봐야 겠습니다.
지금 문제는 단순하게 밀린 화면을 위로 올린것 뿐 입니다.
#해결 (2011-08-08)
20 포인트로 고정하면 기기에 따른 status바가 다를수 있습니다. 일예로 아이패드와 호환성 문제가 발생할수 있습니다.
이때 UIScreen 으로 장치의 해상도와 실제뷰 화면의 해상도를 가져오면 유리 합니다.
CGRect rect = [[UIScreen mainScreen] applicationFrame]; [myRootViewController.view setFrame:rect];
참고 : http://maccrazy.tistory.com/74
추가 : 2012.03.04
iOS 5.0 이상부터는 아래와 같이 코딩하면 됩니다.
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; self.viewController = [[HelloWorldViewController alloc] initWithNibName:@"HelloWorldViewController" bundle:nil]; self.window.rootViewController = self.viewController; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; return YES;
RECENT COMMENT