两个标签在tableView单元格中垂直对齐自动调整大小

Posted

技术标签:

【中文标题】两个标签在tableView单元格中垂直对齐自动调整大小【英文标题】:Two label align vertically in tableView cell auto resizing swift 【发布时间】:2017-12-08 17:57:01 【问题描述】:

尝试自动调整两个标签在单元格内垂直对齐的大小,这可能吗?

storyboard 中,我们必须设置autolayout,因为我想自动调整两个标签的大小(一个在另一个之上)。

我无法设置每个高度,因此情节提要不知道这两个标签的高度是多少,因此会显示autolayout 的错误。

如果我点击“添加缺少的约束”按钮,它将为“字幕”添加高度

或者我可以设置“标题”而不是“副标题”的高度,

或使“标题”等于“副标题”,它仍然会接受。

结果如下:

解决方法是将这两者分开到不同的单元格。 有更好的解决方案吗?还是我只是忘记做任何事情?

附:我在 ios 10.3 中使用 Xcode 8。

【问题讨论】:

你可以设置高度并使其>=. 【参考方案1】:

尝试为两个标签设置适当的约束-:

故事板-:

第一个 label-: 的约束条件

第二个label-的约束:

控制器类(table view 使用自动尺寸)-:

class ViewController1: UIViewController 

    var dataForTableView:[ProductImage]?

    @IBOutlet weak var secondTable: UITableView!

    override func viewDidLoad() 
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        secondTable.estimatedRowHeight = 96
        secondTable.rowHeight = UITableViewAutomaticDimension
        // CHECK FOR DATA

        //print(dataForTableView?[0].url as Any)
    

    override func didReceiveMemoryWarning() 
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    



extension ViewController1 : UITableViewDelegate,UITableViewDataSource
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
        return 1
    


    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell1") as! testingCell2
        cell.backgroundColor = UIColor.blue;
        cell.secondLabel.text = "agfhjsgfhjsgdshgfhjsfjhvhssajs hjfbvhjfbvjhfgafgfhlgkaghkfakfhkflbvhfbvhfvbhfv ah fvfhbvfjhvbfhdavhfvhv"
        return cell
    

    // Number of sections in table

    func numberOfSections(in tableView: UITableView) -> Int 
        return 1
    // Default is 1 if not implemented

    public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat
        return UITableViewAutomaticDimension
    


输出-:

我希望这就是你要找的东西,如果有任何问题,请告诉我。谢谢

【讨论】:

以上是关于两个标签在tableView单元格中垂直对齐自动调整大小的主要内容,如果未能解决你的问题,请参考以下文章

自动布局 - 在表格单元格中对齐视图

垂直对齐表格单元格中的文本[关闭]

表格单元格中旋转文本的垂直对齐方式

在 tableView 单元格中格式化文本

如何垂直对齐表格单元格中的图像和文本?

为啥不垂直对齐:中间与表格单元格中的输入元素一起使用?