스토리보드를 통해 static cell을 갖는 UITableView를 만들 때, UITableViewController를 subclassing하지 않으면 컴파일 오류가 발생합니다. Static cell tableview는 반드시 UITableViewController를 상속받은 controller를 통해 생성되어야 하기 때문입니다. 그래서 static cell을 갖는 UITableView를 일반 view controller의 subview로 추가하는 대신에, Container View를 통해 UITableViewController를 subview로 추가해야 합니다.

  1. ViewController에 container view를 추가합니다.
  2. 자동으로 추가되는 segway 및 ViewController를 삭제합니다.
  3. UITableViewController를 storyboard에 추가하고, container view의 embed in segway로 연결합니다.

위 과정을 통해 UITableViewController의 화면을 container view를 통해서 보여줄 수 있습니다. 만약, static cell의 개수만큼 화면에 딱 맞게 나오게 하고 싶다면 container view의 size를 cell의 총 높이만큼 조절해주면 됩니다. 예를 들어, height가 50인 static cell 4개를 딱 맞게 보여주고 싶다면, container view의 height을 200으로 설정합니다.

Reference

https://stackoverflow.com/questions/22364230/static-table-view-outside-uitableviewcontroller