UITABLE просмотреть разделы с различными ячейками прототипа в каждом разделе - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть табличное представление с разными разделами, и для каждого раздела у него разные ячейки прототипа.Я создал прототипную ячейку в раскадровке, но я не смог создать более одной ячейки в cellForRowAtIndexPath.Я приложил весь код для справки.

Это мой дизайн раскадровки

Screen Shot

Это экран окончательного вывода, который должен выглядеть как

Screen Shot

    import UIKit

    class PlacePeopleViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {

        @IBOutlet weak var friendlistTableView: UITableView!

        var sectionHead = ["Friends", "Others"]

        override func viewDidLoad() {
            super.viewDidLoad()
            friendlistTableView.delegate = self
            friendlistTableView.dataSource = self

            // Do any additional setup after loading the view.
        }


        // MARK: - tableview datasource & delegate

        func numberOfSections(in tableView: UITableView) -> Int {
            return sectionHead.count
        }

        func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
            return self.sectionHead[section]
        }


        func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            if section == 0 {
                return 5
            }else {
                return 10
            }
        }

        func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
           let cell = tableView.dequeueReusableCell(withIdentifier: "cell1") as! RecentVizzTableViewCell
            cell.placeName.text = "poland"
            cell.placeAddress.text = "Simon Albania"


            return cell
        }

        func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
            return 79
        }

        func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
            return 15
        }

    }

1 Ответ

0 голосов
/ 12 декабря 2018

Примечание : Вы можете сделать это, используя только одну ячейку .просто скрыть / показать кнопку connect, проверив некоторые условия.

Если вы хотите использовать разные ячейки для разных секций , внутри вашего cellForRowAt indexPath метода верните ваши ячейки на основе вашего раздела, как показано ниже.

switch  indexPath.section {
        case 0:
            let cell = tableView.dequeueReusableCell(withIdentifier: "cell1") as! RecentVizzTableViewCellOne
            return cell
        default:
            let defaultcell = tableView.dequeueReusableCell(withIdentifier: "defaultcell") as! RecentVizzTableViewCellDefatult
            return defaultcell
  }

надеюсь, это поможет вам.удачи.

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