根据文本视图中的文本在swift 3中调整标签?
问题描述:
我正在研究照片编辑应用我试图根据文本视图中给出的文本来调整标签。我已经尝试了很多代码,但它并没有为我工作。我想在图像上添加标签,这是基于我的textview中给出的文本,如下图所示。 我无法根据textview的文本设置标签的宽度和高度。我试过了下面的代码。有人请帮忙。根据文本视图中的文本在swift 3中调整标签?
let newWidth: CGFloat = CGFloat(txtView.text.boundingRect(with: txtView.frame.size, options: .usesLineFragmentOrigin, context: nil).size.width)
let Label = UILabel(frame: CGRect(x: 100, y: 100, width: newWidth, height: 100))
imgView?.addSubview(Label)
我也曾尝试
var maximumLabelSize = CGSize(width: 296, height: FLT_MAX)
var expectedLabelSize: CGSize = yourString.size(withFont: yourLabel.font, constrainedTo: maximumLabelSize, lineBreakMode: yourLabel.lineBreakMode)
//adjust the label the the new height.
var newFrame: CGRect = yourLabel.frame
newFrame.size.height = expectedLabelSize.height
yourLabel.frame = newFrame
答
我已经解决了使用JLStickerTextView我的问题,但在这个仓库的不是雨燕3.0项目,所以我进行了更改兼容,你可以找到out工作项目没有任何错误从她https://github.com/khush004/StickerView/tree/master
答
func calcheight(strin:String) -> CGFloat
{
let label = UILabel(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: CGFloat.greatestFiniteMagnitude))
label.numberOfLines = 0
label.text = strin
label.sizeToFit()
return label.frame.height + 2
}
它不完全清楚你在做什么。你有'UIImageView',你想在它上面显示一个'UILabel'?文本应该居中吗?它应该覆盖整个图像还是只包含一部分?我建议你展示一下你想要的结果。 – DonMag
@DonMag请检查我更新的问题。 –
您提供的屏幕截图我想它来自** JLStickerTextView **。你想添加标签到图片上,这个JLStickerTextView库就是这样做的。我正在使用这个库进行视频编辑应用程序。检查作者提供的示例与库 –