Contents

Views 29534 Comment 0
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
1. 빌드시 시뮬레이터 판별

#if !TARGET_IPHONE_SIMULATOR
pickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
#endif
TARGET_IPHONE_SIMULATOR로 실제 아이폰에서만 실행되는 코드를 따로 관리할 수 있습니다. 

2. 하위 View 검색

NSArray *subViewList = [searchBar subviews];
for (UIView *view in subViewList) {
    if ([view isKindOfClass:[UITextField class]]) {
        [(UITextField *)view setReturnKeyType:UIReturnKeyDone];
    }    
}
UIView의 subviews와 isKindOfClass를 사용하여 하위의 특정 뷰를 찾아내어 설정을 변경할 수 있습니다. UISearchBar에서 UITextField를 찾아내어 키보드의 Search 버튼의 텍스트를 Done으로 변경하는 예입니다.

- (void) setSubViewsClearColor: (UIView*)theView {
   NSArray *subViewList = theView.subviews;
   for (UIView *view in subViewList) {
       [view setBackgroundColor:[UIColor clearColor]];
       [self setSubViewsClearColor:view];
   }
}
하위 View를 모두 찾아 배경을 투명한 속성으로 변경하는 예입니다. 
초기화 하는 곳에서 [self setSubViewsClearColor:self]; 와 같이 호출하여 사용합니다.
  
 
3. 사용자 데이터 저장

userLevel = [[NSUserDefaults standardUserDefaults] integerForKey:@"user_level"]; 
[[NSUserDefaults standardUserDefaults] setInteger:g_userLevel forKey:@"user_level"];
옵션등의 간단한 설정은 데이터베이스나 파일을 이용하는대신 NSUserDeraults를 사용하면 간단하게 저장하고 불러올 수 있습니다.

4. Rect와 Point
좌표로 많이 사용되는 Rectd와 Point에서 자주 사용되는 함수와 상수입니다.

CGRect  CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height);
x, y, width, height로 설정된 CGRect를 반환합니다.

CGRectZero
0, 0 좌표와 0, 0 크기를 가진 CGRect 상수입니다.

CGPointMake(CGFloat x, CGFloat y);
x, y로 설정된 CGPoint를 반환합니다.

CGPointZero
0, 0 좌표를 가진 CGPoint 상수입니다.

bool CGRectContainsPoint(CGRect rect, CGPoint point);
rect 사각형에 point가 속해있는지 여부를 반환합니다.

bool CGRectContainsRect(CGRect rect1, CGRect rect2);
rect1 사각형에 rect2 사각형이 속해있는지 여부를 반환합니다.

bool CGRectIntersectsRect (CGRect rect1,  CGRect rect2);
rect1과 rect2가 교차하는지 여부를 반환합니다.


5. Path

NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
어플리케이션 번들 디렉토리를 반환합니다.

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
번들에 포함된 파일들은 읽기만 가능하고 쓰기가 불가능합니다. 디비와 같이 변경이 필요한 경우에는 위와같이 어플리케이션의 도큐먼트 폴더를 구해와 도큐먼트 폴더로 복사 생성해 놓고 작업합니다.


6. URL

NSURL *url = [NSURL URLWithString:@"http://www.cocoadev.co.kr"];
[[UIApplication sharedApplication] openURL:url];
지정된 웹주소를 사파리에서 오픈합니다.

NSURL *url = [NSURL URLWithString:@"mailto:abc@def.com"];
[[UIApplication sharedApplication] openURL:url];          
받는사람이 설정되어 메일 프로그램의 새로운 메시지가 실행됩니다.

NSURL *url = [NSURL URLWithString:@"tel:02-111-2222"];
[[UIApplication sharedApplication] openURL:url];
지정된 번호로 전화를 겁니다.

?

List of Articles
No. Category Subject Author Date Views
841 Develop 프로그램 문서 관리 (Doxygen) hooni 2013.04.23 16443
840 Develop 프로그래밍에서 foo, bar 함수의 유래 file hooni 2013.06.25 21485
839 Develop 프로그래밍 소스 관련 사이트.. hooni 2013.04.23 16530
838 Develop 페이팔에서 돈 찾기 (Paypal withdraw) file hooni 2014.02.20 11484
837 Develop 캘리포니아 운전면허 족보 file hooni 2017.06.12 896
836 Develop 최근 논문 자료 (2011/01/03, 만현형한테 보낸거..) secret hooni 2013.04.23 10366
835 Develop 참고하고 지울 자료.. 집에서 바야지.. ㅋㅋ file hooni 2013.04.23 12180
834 Develop 정리할 자료. file hooni 2015.07.02 825
833 Develop 자주 쓰는 Docker 명령어 alias hooni 2020.01.10 272445
832 Develop 이어서 작업할 내용~ secret hooni 2013.11.21 0
831 Develop 웹페이지 성능 테스트 툴 설명 hooni 2013.04.23 27523
830 Develop 알고리즘 성능분석 file hooni 2014.06.24 3109
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 71 Next
/ 71