iOS 는 다양한 방식 으로 컨트롤 러 를 만 듭 니 다.
1.어떻게 스스로 storyboard 를 통 해 컨트롤 러 를 만 듭 니까?그 전에 시스템 에서 storyboard 를 불 러 와 서 컨트롤 러 를 만 듭 니 다.
UIStoryboard 라 는 대상 을 통 해 storyboard 파일 을 불 러 올 수 있 습 니 다.주의:storyboard 가 있어 야 UIStoryboard 대상 을 만 드 는 데 의미 가 있 습 니 다.alloc init 는 UIStoryboard 대상 을 만 드 는 데 의미 가 없습니다.
1.1>instantiate InitialViewController:화살표 가 가리 키 는 컨트롤 러 를 기본 으로 불 러 옵 니 다.
1.2>instantiateViewController With Identifier:표지 에 따라 storyboard 에서 컨트롤 러 를 찾 고 만 듭 니 다.(표 지 는 함부로 전달 해 서 는 안 되 고 잘못 보고 할 수 있 습 니 다.story board 에 이 표지 가 있어 야 합 니 다.)
1.3>현재 만 든 컨트롤 러 는 이 벤트 를 처리 할 수 없습니다.이 벤트 를 처리 하려 면 사용자 정의 컨트롤 러 가 필요 합 니 다.
현재 만 든 컨트롤 러 는 왜 이 벤트 를 처리 할 수 없 습 니까?
이유:storyboardID 를 통 해 storyboard 의 컨트롤 러 를 찾 을 때 storyboard 에서 설명 하 는 컨트롤 러 대상 을 만 듭 니 다.생 성 대상 은 먼저 클래스 이름 을 알 아야 합 니 다.storyboard 의 Custom Class 에 따라 클래스 이름 을 확인 한 다음 에 대상 을 만 듭 니 다.기본 값 은 시스템 자체 컨트롤 러 대상 이 고 시스템 자체 가 가지 고 있 는 것 은 이 벤트 를 처리 할 수 없습니다.그 는 감청 방법 을 쓸 수 없다.
따라서 컨트롤 러 이 벤트 를 처리 하려 면 컨트롤 러 를 사용자 정의 해 야 합 니 다.
2.모방 시스템 은 어떻게 main.storyboard 를 통 해 프로그램 을 불 러 옵 니까?(스토리 보드 가 있 는 항목)
2.1>storyboard 가 있 는 프로그램 입 니 다.기본 프로그램 이 시작 되면 storyboard 를 불 러 오고 창 과 루트 컨트롤 러 를 자동 으로 만 듭 니 다.
2.2>시스템 은 storyboard 를 불 러 올 필요 가 있 는 지 어떻게 판단 합 니까?메 인 인터페이스 가 설정 되 어 있 는 지,메 인 이 설정 되 어 있 으 면 메 인.storyboard 를 불 러 옵 니 다.
2.3>storyboard 파일 을 추가 합 니 다.새로 추 가 된 storyboard 를 어떻게 불 러 오고 메 인 화면 을 수정 합 니까?
2.4>모방 프로그램 이 시작 하 자마자 Main.storyboard 파일 을 불 러 오고 창 을 만 들 며 화살표 가 가리 키 는 창 루트 컨트롤 러 를 만 들 고 창 을 표시 합 니 다.(홈 인터페이스 설정 을 비우 고 캐 시 를 삭제 해 야 합 니 다)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// ( , )
self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
// storyboard,nil [NSBundle mainBundle]
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
//
UIViewController *vc = [storyboard instantiateInitialViewController];
//
self.window.rootViewController = vc;
//
[self.window makeKeyAndVisible];
return YES;
}
3.xib 를 통 해 컨트롤 러 의 view(빈 항목)를 만 듭 니 다(먼저 xib 가 있어 야 합 니 다)3.1 xib 주의 점:
1>xib 에는 컨트롤 러 의 view 를 설명 하 는 view 가 있어 야 합 니 다.컨트롤 러 의 view 속성 이 값 이 있어 야 하기 때 문 입 니 다.
2>xib 는 어떤 컨트롤 러 를 설명 할 지 지정 해 야 합 니 다.UIView 를 설명 할 필요 가 없습니다.xib 에 서 는 많은 UIView 를 설명 할 수 있 기 때문에 고정 적 으로 죽 을 수 없 지만 컨트롤 러 는 다 릅 니 다.하 나 는 컨트롤 러 만 설명 합 니 다.
3>xib 에 view 가 많 을 수 있 습 니 다.컨트롤 러 의 view 를 드래그 해 야 합 니 다.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
//
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
// xib
ViewController *vc = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
self.window.rootViewController = vc;
[self.window makeKeyAndVisible];
return YES;
}
3.2 xib 와 storyboard 의 차이 storyboard 는 컨트롤 러 의 view 를 지정 하 였 습 니 다.우리 가 관리 할 필요 가 없습니다.xib 는 우리 가 수 동 으로 관리 해 야 합 니 다.이상 은 본 고의 모든 내용 입 니 다.iOS 컨트롤 러 를 쉽게 만 드 는 데 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
View의 레이아웃 방법을 AutoLayout에서 따뜻한 손 계산으로 하면 성능이 9.26배로 된 이야기이 기사는 의 15 일째 기사입니다. 어제는 에서 이었습니다. 손 계산을 권하는 의도는 없고, 특수한 상황하에서 계측한 내용입니다 화면 높이의 10 배 정도의 contentView가있는 UIScrollView 레이아...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.