标签显示超出我的自定义 TableViewCell 范围并通过 swift 设置自动布局
Posted
技术标签:
【中文标题】标签显示超出我的自定义 TableViewCell 范围并通过 swift 设置自动布局【英文标题】:Label show out of my range of Customized TableViewCell and set auto-layout by swift 【发布时间】:2017-07-15 06:42:32 【问题描述】:我使用 xib 创建聊天气泡 tableViewCell,但我使用自动布局来设置约束。 它显示我输入的文本超出范围。 而且我也不想缩小文本。
我还添加了 textLabel 左约束,它可以生成我想要的不同类型。 我不想像上一张图片那样显示聊天气泡的空白区域。 这种情况我该怎么办?
更新:
class ChatMyTextTableViewCell: UITableViewCell
@IBOutlet weak var myImageView: UIImageView!
@IBOutlet weak var myTextLabel: PaddingLabel!
@IBOutlet weak var myDateLabel: UILabel!
@IBOutlet weak var labelWidthConstraint: NSLayoutConstraint!
override func awakeFromNib()
super.awakeFromNib()
// Initialization code
self.backgroundColor = defaultBackgroundColor
myImageView.layer.masksToBounds = true
myImageView.layer.cornerRadius = defaultIconRadius
myTextLabel.backgroundColor = defaultChatGreenBubbleColor
myTextLabel.layer.masksToBounds = true
myTextLabel.layer.cornerRadius = defaultButtonRadius
myDateLabel.textColor = defaultChatTimeColor
override func setSelected(_ selected: Bool, animated: Bool)
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
func loadMessage(_ message:Message)
labelWidthConstraint.constant = UIScreen.main.bounds.size.width - 120
myTextLabel.text = message.content
myTextLabel.autoresizingMask = [.flexibleWidth,.flexibleHeight]
myDateLabel.text = convertToChatDate(date: message.datetime)
【问题讨论】:
【参考方案1】:您创建标签宽度约束 IBOutlet
Objectvice-C:
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *msgWidthConst;
然后在 CellForRowAtIndexPath 中:
cell.msgWidthConst.constant=[UIScreen mainScreen].bounds.size.width-80;
cell.msg.text="text";
cell.msg.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
Swift3:
@IBOutlet var labelWidthConstraint: NSLayoutConstraint!
然后在 cellForRowAt:
cell.labelWidthConstraint.constant = UIScreen.main.bounds.size.width-80
cell.msg.text = "text";
cell.msg.autoresizingMask = [.flexibleWidth, .flexibleHeight]
【讨论】:
你好,我使用你的建议,它对我不起作用。我更新了我的手机密码。谢谢。 @tolerate_Me_Thx 这是有效的。查看此演示 github.com/vikashkumar2804/tableViewDemo.git以上是关于标签显示超出我的自定义 TableViewCell 范围并通过 swift 设置自动布局的主要内容,如果未能解决你的问题,请参考以下文章
自定义 TableViewCell 中的标签始终返回其初始化值