自定义UITableViewCell没有填满UITableView(SWIFT 3)的大小

时间:2017-08-23 01:39:12

标签: ios swift uitableview

我使用以下属性制作了自定义UITableViewCell:

    cityNameLabel = UILabel(frame: CGRect(x: 20, y: 0, width: self.frame.width/2, height: self.frame.height))     
    degreeLabel = UILabel(frame: CGRect(x: self.frame.width - 50, y: 0, width: 50, height: self.frame.height))
    degreeLabel.textAlignment = .left
    degreeLabel.text = "12C"

    contentView.layer.addSublayer(setupGradient())
    contentView.addSubview(cityNameLabel)
    contentView.addSubview(degreeLabel)

我将单元格出列,注册它,并在我的UIViewController的tableviewcontroller中设置框架,如下所示:

        tableView = UITableView(frame: CGRect(x: 0, y: 60, width: view.frame.width, height: 200))
        tableView.backgroundColor = UIColor(red: 0.3, green: 0.3, blue: 0.3, alpha: 0.3)
        tableView.layer.cornerRadius = 3
        tableView.tableFooterView = UIView()
        tableView.delegate = self
        tableView.rowHeight = 60
        tableView.dataSource = self
        tableView.separatorStyle = .none
        tableView.register(SettingsCityTableViewCell.self, forCellReuseIdentifier: reuse)

然后按如下方式设置:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        if let cell = tableView.dequeueReusableCell(withIdentifier: reuse, for: indexPath) as? SettingsCityTableViewCell {
            cell.cityNameLabel.text = cityList.list[indexPath.row].name
            return cell
        }
        else {
            return UITableViewCell()
        }
    }

但是,UITableViewCell不会填充整个UITableView的框架。像这样:

enter image description here

(单元格不适合tableview ...)

编辑: 我也想以编程方式解决这个问题,因为我并没有真正使用故事板来编写Swift。谢谢!

0 个答案:

没有答案