Несколько прототипов ячеек в UITableView - PullRequest
1 голос
/ 08 февраля 2020

Итак, я пытаюсь настроить свой UITableViewController, у которого есть заголовок, нижний колонтитул, а затем несколько прототипных ячеек между ними. Когда я go запускаю свой код на моем симуляторе, отображаются только поле зрения сердца и нижнего колонтитула, а ячейки прототипа - нет. Вот мой код:

import UIKit

class UploadTrackTableViewController: UITableViewController {





    var headerView: UploadHeader!
    var footerView: UploadFooter!

    override func viewDidLoad() {
        super.viewDidLoad()

        headerView = tableView.tableHeaderView as! UploadHeader
        footerView = tableView.tableFooterView as! UploadFooter

    }

}


extension UploadTrackTableViewController {


    override func numberOfSections(in tableView: UITableView) -> Int {
        return 4
    }
    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        if section == 0 {
            return 1
        } else if section == 1 {
            return 1
        } else if section == 2 {
            return 1
        } else {
            return 1
        }
       }

       override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        if indexPath.section == 0 {
            let cell = tableView.dequeueReusableCell(withIdentifier: "trackTitleCell", for: indexPath) as! TrackTitleTableViewCell


                     return cell
        } else if indexPath.section == 1 {

            let cell = tableView.dequeueReusableCell(withIdentifier: "genreCell", for: indexPath) as! SelectGenreTableViewCell

            return cell
        } else if indexPath.section == 2 {

            let cell = tableView.dequeueReusableCell(withIdentifier: "featuredArtistCell", for: indexPath) as! AddFeaturedArtistTableViewCell

            return cell
        } else {

        let cell = tableView.dequeueReusableCell(withIdentifier: "audioCell", for: indexPath) as! SelectAudioFileTableViewCell

        return cell

        }
    }

}

А вот скриншот того, как мой контроллер выглядит в конструкторе интерфейсов. Interface Builder

А вот и скриншот симулятора. Simulator

Не уверен, что установка этого параметра в качестве табличного представления - лучший вариант, может быть, мне стоит go для просмотра прокрутки с этим пользовательским интерфейсом, но я не уверен, что будет работать лучше.

вот как выглядит контроллер вида сейчас. Updated Simulator

1 Ответ

1 голос
/ 08 февраля 2020

Вы можете использовать только 1 раздел, а UITableView имеет функции делегата

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    return 'your custom view'
}

func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    return 'your custom view'
}

. Здесь вы можете вернуть свой собственный вид верхнего и нижнего колонтитула.

Счастливое кодирование. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...