2017-10-02 1 views
0

내 ViewController를 세 개의 동일한 섹션으로 나눠야합니다. "무엇", "왜", "어디서"그리고 각보기가 도청 될 때 그것은 se에 간다. 나는 UIViewController를 사용하고 3 개의 개별 뷰를 가지고 적절한 페이지로 이동하는 각 뷰와 함께 탭 제스처를 사용하는 것에 대해 생각했습니다.tableviewcontroller와 프로토 타입 셀을 사용하여 화면을 세 부분으로 나눌 수 있습니까?

그러나 그때 나는 아마도 master-detail tableviewcontroller와 세 개의 문자열 배열을 사용하여 각 셀을 채울 수있을 것이라고 생각했습니다.

override func numberOfSections(in tableView: UITableView) -> Int { 
     // #warning Incomplete implementation, return the number of sections 
     return 3 
    } 

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     // #warning Incomplete implementation, return the number of rows 

     return 1 
    } 

어떤 방법이 더 합법인지 알 수없고 tableviewcontroller와 관련된 주요 문제는 셀 높이입니다. 왜냐하면 각 섹션에 단 하나의 셀만 있기 때문에 이상적으로 셀 높이가 섹션의 전체 높이를 차지하고 싶습니다. 그러나 예를 들어 셀 높이를 100 %로 설정할 수 있는지 확실하지 않습니다.

감사합니다.

+0

안녕하세요, https://stackoverflow.com/a/41310654/3548469를 참조하십시오. –

+0

수 있습니다.보기에 단추를 추가하기 만하면됩니다. –

답변

1

너가 진짜로 다만 3 개의 동등한 크기 단면도를 원하는 경우에 너는 >= iOS9을 위해 건축하고있다, 가장 쉽고 빠른 방법은 수직선 UIStackView을 사용하기위한 것일 것입니다.

그냥 alignmentfill에 그 distributionfill equally에, 3 UIButtons 드롭의 설정. StackView의 topAnchor, bottomAnchor, leadingAnchortrailingAnchorsuperview에 대한 0의 제약 조건입니다.

물론 UITableView을 사용할 수 있지만 셀의 화면 크기가 각각 1/3임을 확인하는 데는 많은 작업이 필요합니다. 화면 크기 (전적으로 가능)에 따라 동적으로 적응해야합니다. 또한 tableView를 사용하는 경우 이와 같이 정적 인 것이 가장 좋습니다. 그런 다음 cellForRow 등의 많은 대리자 메서드를 구현할 필요가 없습니다.

관련 문제