Пользовательский tableView вообще не отображается - PullRequest
0 голосов
/ 03 марта 2020

Я пытаюсь запрограммировать пользовательское представление таблицы, и у меня возникают трудности с его отображением. Для rootViewController установлено значение HoursTableViewController. Я попытался изменить цвет фона tableView, чтобы увидеть, покажет ли он, но это не так. Я довольно потерян в этот момент. Я также получаю эту ошибку в консоли, но я не уверен, относится ли это к моей проблеме:

Неизвестный класс _TtC12Voluntracker14ViewController в файле Interface Builder.

Любая помощь будет принята с благодарностью! Я пытался изменить атрибуты tableView, предложенные в других сообщениях, но он все еще не отображается.

    class HoursTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

    var hourDonationSegmentedButton: UISegmentedControl!
    var addEntryButton: UIButton!
    var editEntryButton: UIButton!

    var hoursEntries = [String]()
    var hoursTableView: UITableView = HoursTableView()




    override func viewDidLoad() {
        super.viewDidLoad()
        hoursTableView.dataSource = self
        hoursTableView.delegate = self
        hoursTableView.register(HoursTableViewCell.self, forCellReuseIdentifier: "HoursTableViewCell")
        prepareTableView()
    }

    func prepareTableView() {
        view.addSubview(hoursTableView)
        hoursTableView.backgroundColor = .green
        hoursTableView.translatesAutoresizingMaskIntoConstraints = false
        hoursTableView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
        hoursTableView.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
        hoursTableView.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
        hoursTableView.rowHeight = UITableView.automaticDimension
        hoursTableView.estimatedRowHeight = 44
        hoursTableView.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height)
        hoursTableView.backgroundColor = .green
    }


}

extension HoursTableViewController {

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 1;

    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        var cell = hoursTableView.dequeueReusableCell(withIdentifier: "HoursTableViewCell", for: indexPath) as! HoursTableViewCell
        //let hoursEntry = hoursEntries[indexPath.row]
        cell.hourLabel.text = "6"
        cell.minuteLabel.text = "6"
        cell.dateLabel.text = "6"
        cell.organizationLabel.text = "6"
        //cell = makeCellFromHoursEntry(currentCell: cell, hoursEntry: hoursEntry)
        return cell
    }

1 Ответ

1 голос
/ 03 марта 2020

Помещение в качестве ответа, так как оно становится слишком длинным для комментария.

Ограничения запрашивают автоматическое расположение и ручную настройку размеров с указанием точного размера? ответ Да .

Если вы хотите установить рамку, просто удалите translateAutoResizingMaskIntoConstraint или установите translatesAutoresizingMaskIntoConstraints = true. Проблема с вашими якорями не будет учтена при разметке.

, если вы хотите, чтобы это было полностью autoLayout, удалите рамку и просто установите нижнее ограничение как hoursTableView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true

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