标签中的文字流出屏幕iOS Swift

时间:2016-03-12 04:49:59

标签: swift autolayout uilabel constraints tableviewcell

我将两个标签添加到一个表格单元格中,顶部是左对齐,底部是右对齐,但文字没有正确显示。

我在故事板中为tableview添加了适当的约束,但是没有解决问题。这是我用来设置标签和生成的屏幕截图的代码,我只使用边框进行调试

    let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)


    var label1 = UILabel(frame: CGRectMake(0,0, cell.bounds.width, cell.bounds.height/3))
    var label2 = UILabel(frame: CGRectMake(0,cell.bounds.height/3, cell.bounds.width, cell.bounds.height/3 * 2))



    label1.textAlignment = .Left
    label1.text = "AAAA"
    label1.layer.borderColor = UIColor.blackColor().CGColor
    label1.layer.borderWidth = 1.0


    label2.textAlignment = .Right
    label2.text = "BBBB"
    label2.layer.borderColor = UIColor.redColor().CGColor
    label2.layer.borderWidth = 1.0


    cell.addSubview(label1)
    cell.addSubview(label2)

enter image description here

修改:添加新图片以显示约束

enter image description here

2 个答案:

答案 0 :(得分:2)

在固定所有边缘时移除constraints to margin ..

有关保证金约束的更多指南,请查看此link

答案 1 :(得分:1)

您对cell本身没有任何限制。我建议你继承UITableViewCell,将两个标签添加到自定义单元格,设置约束,然后在tableView.dequeueReusableCellWithIdentifier中修改这些标签。然后你将保留故事板中设置的约束。

目前存在的情况是,每次加载单元格时都会创建新的labels,因此您必须以编程方式创建约束,这是不理想的。