iOS - TableViewCell中的并排标签对象

时间:2016-02-18 19:47:53

标签: ios xcode swift uitableview

我正在创建一个非常简单的动态TableViewCell,最左边是图像,中间是标签,最右边是标签。

Example

我目前正在显示图像和中心标签,但我似乎无法弄清楚如何对齐单元格最左侧的第二个标签对象。

当我运行应用程序时,它只显示图像和中心标签。 如果有人对如何使第二个标签对象显示与图像和第一个标签对象对齐有任何建议,我们将不胜感激。

TableViewCell:

class AttractionTableViewCell: UITableViewCell {

@IBOutlet weak var attractionImage: UIImageView!

@IBOutlet weak var attractionLabel: UILabel!

@IBOutlet weak var attractionTime: UILabel!

override func awakeFromNib() {
    super.awakeFromNib()
    // Initialization code
}

override func setSelected(selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)

    // Configure the view for the selected state
}

}

TableViewController:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let cell =
    self.tableView.dequeueReusableCellWithIdentifier(
        "AttractionTableCell", forIndexPath: indexPath)
        as! AttractionTableViewCell

    let backgroundImage = UIImage(named: "blued.jpg")
    let imageView = UIImageView(image: backgroundImage)
    self.tableView.backgroundView = imageView
    tableView.tableFooterView = UIView(frame: CGRectZero)
    imageView.contentMode = .ScaleAspectFill


            if (indexPath.section == 0){
        cell.attractionLabel.text = attractionNames[indexPath.row]
        cell.attractionImage.image = UIImage(named: attractionImages[indexPath.row])

    }
    if (indexPath.section == 1){
        cell.attractionLabel.text = attractionNames2[indexPath.row]
        cell.attractionImage.image = UIImage(named: attractionImages2[indexPath.row])

    }
    return cell
}

2 个答案:

答案 0 :(得分:2)

添加一些Autolayout约束。

图片:

enter image description here enter image description here

对于中间标签:

enter image description here

对于正确的标签:

enter image description here enter image description here

结果应如下所示:

enter image description here

答案 1 :(得分:0)

为图像视图和标签提供约束。

您必须为视图提供一些约束,以便它们都可以在单元格上显示

为图像提供高度,宽度,前导,顶部约束

将容器中的水平居中放置到两个uiblables

为标签提供顶部,底部,前导,尾随约束

最后在cellForRowAtIndexPath

中将文本分配给attractionTime标签