Не могу показать просмотр таблицы в моем ViewController - PullRequest
0 голосов
/ 26 октября 2018

Мне нужен простой UITableView из 1 строки и 6 столбцов, я пытаюсь создать UITableView программным способом и добавить его на свой ViewController, но без удачи я просмотрел несколько уроков и недействительно понимаю, что я делаю неправильно.Может быть, если вы, ребята, посмотрите, вы могли бы сказать мне.Это мой код:

class MainVC: UIViewController, UITableViewDelegate, UITableViewDataSource {

    var mTableView: UITableView = {

        //STACKOVERFLOW *In the first line, I'm just positioning it randomly to see if I can get the table view to show, will change later.*
        var tableView = UITableView(frame: CGRect(x: 100, y: 100, width: 100, height: 100), style: .plain)
        tableView.backgroundColor = .red

        tableView.translatesAutoresizingMaskIntoConstraints = false
        return tableView

    }()

    override func viewDidLoad() {

        super.viewDidLoad()
        view.backgroundColor = UIColor(red: 80/255, green: 135/255, blue: 179/255, alpha: 1.0)

        setupNavBar()
        self.navigationItem.searchController = mSearchBarController

        setupMainWeatherIcon()
        setupTableView()

        mTableView.dataSource = self
        mTableView.delegate = self

    }

    private func setupTableView(){

        self.view.addSubview(mTableView)


        mTableView.leadingAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.leadingAnchor).isActive = true
        mTableView.trailingAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.trailingAnchor).isActive = true
        mTableView.centerXAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.centerXAnchor).isActive = true
        mTableView.centerYAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.centerYAnchor).isActive = true

    }

    // MARK: TABLE VIEW METHODS!
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 1
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        return tableView.dequeueReusableCell(withIdentifier: "forecastCell", for: indexPath)
    }
}

1 Ответ

0 голосов
/ 26 октября 2018

Вы забыли настроить источник данных для tableView

Добавить: mTableView.dataSource = self

UITableViewController добавляет это автоматически, UIViewController - нет.

Также вы забыли настроить высоту якоря ... и ширину. Или верхний и нижний якорь

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