ios. Storyboard 에서 UITableView 를 이용해 정적 양식(Static Form) 만들기

UITableView를 이용해 여러 입력항목들이 포함된 정적 양식 UI를 만드는 방법을 설명합니다. 스토리보드상에서만 가능합니다.

1. 새로운 스토리보드 파일 AFormViewController.storyboard 를 프로젝트상에 생성합니다.

2. 빈 스토리보드에 Table View Controller 오브젝트를 끌어다 놓습니다.

3. 화면에 배치된 Table View Controller 하위의 Table View 속성에서 Content 항목을 Static Cells로 설정 변경합니다.

4. 다 됐습니다. 이제 정적으로 설정된 Table View 하위에 원하는 만큼의 Table View Cell 을 추가하고, 그 하위로 Label, Text Field 등을 배치하여 양식 UI를 작성하면 됩니다.

5. Objective-C 클래스 만들기 마법사를 이용하여 UITableViewController 를 상속받은 AFormViewController 클래스를 생성합니다. 자동생성된 코드중에서 다음을 주석처리합니다.

//- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
//{
//#warning Potentially incomplete method implementation.
//    // Return the number of sections.
//    return 0;
//}
//
//- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
//{
//#warning Incomplete method implementation.
//    // Return the number of rows in the section.
//    return 0;
//}

6. 스토리보드에서 Table View Controller 를 선택하고 속성에서 Custom Class 항목의 Class 값을 AFromViewController 로 입력해줍니다.

7. 이제 UI에 배치된 입력 컴포넌트들을 소스파일에 선언한 IBOutlet 에 연결해 참조하거나 제어할 수 있습니다.

8. 위에서 구성한 뷰컨트롤러 객체는 코드상에서 다음과 같이 획득해 사용할 수 있습니다.
다른 뷰 컨트롤러에서 화면레이아웃의 일부로서 사용하는 경우를 가정합니다.

UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"AFormViewController" bundle:nil];
AFormViewController* vc = [storyboard instantiateInitialViewController];
[self addChildViewController:vc];
[self.view addSubview:vc.view];

참고자료

http://useyourloaf.com/blog/2012/05/07/static-table-views-with-storyboards.html
http://teamtreehouse.com/library/quick-tips/creating-a-registration-form-in-ios
http://stackoverflow.com/questions/8639780/uitableview-with-static-cells-does-not-appear