当UILabel在iOS

时间:2017-09-21 10:34:35

标签: ios swift uilabel

我有facebook的新闻提要页面。当它被截断时,我想在我的UILabel(feed内容)中添加“see more”文本。我想对“看到更多”文字进行动作识别。这些饲料含量是表格单元格。因此,当我点击“查看更多”文本时,单元格高度也应根据内容进行调整。

我附上图片以便更好地澄清。希望你们中的一个人能有解决方案。

See More feed card

1 个答案:

答案 0 :(得分:1)

您可以测试UILabel.sizeThatFits()是否大于布局空间。

假设您的单元格高度已修复,请使用cellForRowAtIndexPath方法执行以下操作

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        //Configure your cell
        let yourLabel : UILabel! //reference to the label which will truncate your text
        let neededSpace = yourLabel.sizeThatFits(CGSize(width: yourLabel.frame.width, height: CGFloat.greatestFiniteMagnitude))

        if neededSpace.height > yourLabel.frame.height {
            //Text will be truncated, show your button
        } else {
            //Text will be fully presented, hide the button
        }

        //your stuff

    }