ios - 在 tableview 的 UItexView 后面附加一个 UIimage

标签 ios swift uitableview uiimageview autolayout

我在表格 View 单元格中附加了一个 UItextView。现在我想像聊天气泡一样在它后面插入一个 UIimage。但是每次滚动 tableview 时,Uitextview 的宽度都会变小,高度会变长。文本的大小也从单行调整为多行。此外,当我滚动回到较早的单元格(例如第一行)时,也会发生同样的事情。 我不明白为什么会这样。

我的代码是: (SampleTableViewCell 是我的自定义 UItableViewCell 类,lblTitle 是我的 UitextView socket 。)

func tableView(tableView: UITableView, willDisplayCell cell: SampleTableViewCell, forRowAtIndexPath indexPath: NSIndexPath) 
 {

    cell.lblTitle.removeConstraints(cell.lblTitle.constraints)

    let stringTitle = carName[indexPath.row] as String //carName is an array
    cell.lblTitle.text=stringTitle
    cell.lblTitle.sizeToFit()

    let h = cell.lblTitle.frame.size.height
    let w = cell.lblTitle.frame.size.width
    let constraints = NSLayoutConstraint(item: cell.lblTitle, attribute: .Width, relatedBy: .Equal, toItem: cell.lblTitle, attribute: .Height, multiplier: 0, constant: w)
    cell.lblTitle.addConstraint(constraints)

    let kl = UIImage(imageLiteral: "bubble")
    let imageView  = UIImageView(frame:CGRectMake(0, 0, w, h))
    imageView.image = kl
    imageView.alpha = 0.4
    cell.lblTitle.addSubview(imageView)
    cell.lblTitle.sendSubviewToBack(imageView)
  }  

最佳答案

是autolayout的问题。

您只是对 textView 进行了高度和宽度限制。 x和y位置呢?

而且你还没有为你的 imageview 设置约束!!

如果您要为一个对象提供约束,那么您需要为与其相关的所有对象提供约束。

所以设置适当的约束,你的问题就会得到解决。

关于ios - 在 tableview 的 UItexView 后面附加一个 UIimage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37177654/

相关文章:

ios - Google map 无法在 iOS 中加载

ios - MakeAppIcon 中的应用程序图标未成功显示

ios - 当应用程序处于后台且用户未通过推送通知进入时,未收到后台获取远程通知

ios - 用户与文本字段交互的最佳方式 swift 4

ios - 从不同的 View 模型调用服务时绑定(bind)事件未触发

ios - 在 "Swift3"中可编程设置方向

ios - 用 '\n' 分割一个字符串,将其插入 UITableViewCell 并获取高度

ios - 设置uitableview背景 View

ios - 自定义 UITableviewCell 中的多行标签

ios - isEqualToString : when setting text of a label 无法识别的选择器错误