带有背景视图的UILabel +文本布局后面的填充

时间:2016-07-10 13:43:53

标签: ios swift uilabel uicollectionviewcell

我正在尝试在我的UICollectionViewCells中实现一个非常复杂的布局,其中我有一个UILabel应该有一个白色背景,填充+ 2px角半径,应该遵循文本。

如果文本太长,则应该是两行,并且背景应该包含其填充。这很难解释,但我认为图片会说明更多。

如果您有任何解决方案或建议,请与我们联系。

enter image description here

2 个答案:

答案 0 :(得分:0)

将标签放在uiview中并给它一个白色背景并播放其约束和背景颜色。

答案 1 :(得分:0)

您可以按照以下步骤操作:

  • 检查字符串的大小
  • 将其与您的盒子大小进行比较
  • 如果文字大小超过了框的大小,则会增加其大小

    //Get your textfield size
    var frameRect = textField.frame;
    let myString: NSString = textField.text! as NSString
    
    //Get the size of your string
    let size: CGSize = myString.sizeWithAttributes([NSFontAttributeName: UIFont.systemFontOfSize(14.0)])
    
    //If your text doesn't fit, increase the size of your box
    if size.width > frameRect.width {
        frameRect.size.height = 50; // <-- Specify the height you want here.
        textField.frame = frameRect;
    }
    

告诉我这是否有效