Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 자바스크립트
- MFC
- phpmailer
- ClickOnce
- 기념일관리
- API
- PDA
- JavaScript
- 블루투스 헤드셋
- .net
- net
- 한 번만 실행
- protobuf-c
- docker
- C/C++
- 설치제거
- 크래시로그
- VS2008
- crashlog
- GDI
- php
- Antialiasing
- EUC-KR
- M8200
- 데이터 전달
- C#
- 와이브로
- plcrashreporter
- Font
- self-signed ssl
Archives
- Today
- Total
~☆~ 우하하!!~ 개발블로그
화면의 가로보기/세로보기 설정 방법 본문
728x90
반응형
UIViewController 의 shouldAutorotateToInterfaceOrientation 함수에서 가로보기 모드 또는 세로보기 모드를 고정시킬 수가 있다.
UIViewController 의 shouldAutorotateToInterfaceOrientation 함수의 기본 내용은 다음과 같다.
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
위 함수는 기본적으로 주석처리 상태로 작성되는데, 주석처리된 상태로 놔두든 주석을 풀든 기기를 돌리더라도 항상 세로보기 상태로 유지된다.
(기기를 돌리기 위해서는 Home 또는 End 키를 사용한다.)
이 함수의 추석을 풀고 내용을 다음과 같이 수정하면 가로보기 모드로 고정시킬 수가 있다.
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation >= UIInterfaceOrientationLandscapeLeft);
}
Home 또는 End 키를 눌러서 아무기 기기를 돌리더라도 가로보기 모드가 세로보기 모드로 변경되지 않는다.
또한 다음과 같이 수정하면 세로보기 모드(기본모드)로 고정시킬 수가 있다.
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation <= UIInterfaceOrientationPortraitUpsideDown);
}
UIInterfaceOrientation 열거형 변수는 다음과 같은 순서대로 정의되어 있기 때문이다.
typedef enum {
UIInterfaceOrientationPortrait = UIDeviceOrientationPortrait,
UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown,
UIInterfaceOrientationLandscapeLeft = UIDeviceOrientationLandscapeLeft,
UIInterfaceOrientationLandscapeRight = UIDeviceOrientationLandscapeRight
} UIInterfaceOrientation;
기기의 방향을 변경함에 따라서 화면의 보기모드를 변경하기 위해서는 shouldAutorotateToInterfaceOrientation 함수가 항상 YES 를 리턴하도록 변경한 다음
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return YES;
}
willRotateToInterfaceOrientation 함수를 오버라이드하여 UIViewController 하위의 뷰들에 대한 크기 조정 및 위치 조정을 위한 코드를 작성한다.
UIViewController 의 shouldAutorotateToInterfaceOrientation 함수의 기본 내용은 다음과 같다.
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
위 함수는 기본적으로 주석처리 상태로 작성되는데, 주석처리된 상태로 놔두든 주석을 풀든 기기를 돌리더라도 항상 세로보기 상태로 유지된다.
(기기를 돌리기 위해서는 Home 또는 End 키를 사용한다.)
이 함수의 추석을 풀고 내용을 다음과 같이 수정하면 가로보기 모드로 고정시킬 수가 있다.
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation >= UIInterfaceOrientationLandscapeLeft);
}
Home 또는 End 키를 눌러서 아무기 기기를 돌리더라도 가로보기 모드가 세로보기 모드로 변경되지 않는다.
또한 다음과 같이 수정하면 세로보기 모드(기본모드)로 고정시킬 수가 있다.
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation <= UIInterfaceOrientationPortraitUpsideDown);
}
UIInterfaceOrientation 열거형 변수는 다음과 같은 순서대로 정의되어 있기 때문이다.
typedef enum {
UIInterfaceOrientationPortrait = UIDeviceOrientationPortrait,
UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown,
UIInterfaceOrientationLandscapeLeft = UIDeviceOrientationLandscapeLeft,
UIInterfaceOrientationLandscapeRight = UIDeviceOrientationLandscapeRight
} UIInterfaceOrientation;
기기의 방향을 변경함에 따라서 화면의 보기모드를 변경하기 위해서는 shouldAutorotateToInterfaceOrientation 함수가 항상 YES 를 리턴하도록 변경한 다음
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return YES;
}
willRotateToInterfaceOrientation 함수를 오버라이드하여 UIViewController 하위의 뷰들에 대한 크기 조정 및 위치 조정을 위한 코드를 작성한다.
반응형
'iPhone & Cocoa' 카테고리의 다른 글
[iPhone] 특정 초기화함수를 사용할 수 없도록 하는 방법 (0) | 2009.07.03 |
---|---|
Xcode 에서 특정 오브젝트가 지원하는 메소드 목록을 보는 방법 (0) | 2009.06.23 |
UIImageView 의 userInteractionEnabled 속성값은... (0) | 2009.05.29 |
iPhone 화면 구성 요소의 크기 (0) | 2009.05.12 |
XCode 편집기의 장단점 (0) | 2009.05.12 |