기본 메쏘드
init : 객체 초기화
initWithFrame / initWithCoder : 코드나 IB에서 생성할때 초기화시 호출됨
awakeFromNib : IB에서 생성한 경우 각 outlet등 연결된 후 호출됨
layerClass : 레이어의 코어 에니메이션 등 직접 드로잉을 하는 경우 해당 레이어 객체를 리턴해 줘야함.
updateConstraints : 제약의 수정 추가
siteThatFits : 사이즈를 입력받아 해당 크기에 맞춘 사이즈를 반환하게 된다.
layoutSubviews : 각 서브뷰들의 레이아웃을 구성하게 된다. 보통 이시점에서 각 뷰들의 크기를 알수 있게 된다.
didAddSubview / willRemoveSubview
루트 뷰 컨트롤러
MyApplicationDelegate *app = [[UIApplication sharedApplication] delegate];
UIViewController *root = [app.window rootViewController];
네비게이션 컨트롤러의 루트 뷰
MyApplicationDelegate *app = [[UIApplication sharedApplication] delegate];
UINavigationController *navi = (UINavigationController*)[app.window rootViewController];
UIViewController *root = [navi.viewControllers objectAtIndex:0];
키보드 내리기
[self.view addGetstureRecognizer:[[UITapGestureRecognizer alloc]
initWithTarget:_myTextView
action:@selector(endEditing:)]];
오브젝티브C + Swift
오브젝티브C에서 Swift 사용
- 스위프트 클래스 작성시 @objc 식별자
- 오브젝티브C 에서는 #import "ProjectName-Swift.h"
Swift에서 오브젝티브C 사용
- ProjectName-Bridging-Header.h 생성
- 프로젝트 설정 > Build Settings > All
Swift Compiler - General > Objective-C Bridging Header
projectPath/ProjectName-Bridging-Header.h
'프로그래밍 > iOS,macOS' 카테고리의 다른 글
cocoapods 관련 내용 (0) | 2017.01.10 |
---|---|
ios 크래시 로그 분석도구 symbolicatecrash 사용하기 (0) | 2016.12.14 |
UITableView , UITextView 동적 크기 변화 및 스크롤 (0) | 2016.11.24 |
폰의 사진, 앨범 가져오기 (0) | 2016.11.21 |
NSString 문자열 관련/정규식/텍스트뷰 등... (0) | 2016.11.07 |
아이폰 시뮬레이터 로그 터미널로 보기 (0) | 2016.11.01 |
모달 뷰 (0) | 2016.10.28 |
ChildViewController (0) | 2016.10.27 |
오토레이아웃 이것저것 / Constraint / UITextView (0) | 2016.10.25 |
커스텀객체와 인터페이스빌더 (0) | 2016.10.23 |