如何以编程方式将约束添加到 tableView 单元格的默认 textLabel 和 accessoryView
Posted
技术标签:
【中文标题】如何以编程方式将约束添加到 tableView 单元格的默认 textLabel 和 accessoryView【英文标题】:How to Add constraints programmatically to default textLabel and accessoryView of tableView cell 【发布时间】:2017-12-22 09:40:06 【问题描述】:我有一个单元格,因为我想要默认行为,所以我使用以下方式 -
returnCell.textLabel.text = @"Some long text Some long text";
returnCell.textLabel.lineBreakMode = NSLineBreakByWordWrapping;
returnCell.textLabel.numberOfLines = 0;
UISwitch *toggleSwitch = [[UISwitch alloc] initWithFrame:CGRectZero];
returnCell.accessoryView = toggleSwitch;
[returnCell.contentView setTranslatesAutoresizingMaskIntoConstraints:NO];
[returnCell.textLabel setTranslatesAutoresizingMaskIntoConstraints:NO];
[returnCell addVisualConstraints:@"H:|[contentView]|"
forViews:@@"contentView":returnCell.contentView];
[returnCell addVisualConstraints:@"V:|[contentView]|"
forViews:@@"contentView":returnCell.contentView];
现在我遇到的问题是,文本如果小的话可以正常工作,但如果它很长,它会落后于开关......
现在我的问题是我如何避免这种情况并在我的 textLabel 和 accessoryView(UISwitch) 之间添加约束来解决这个问题,这两个都是默认的并且没有作为 subView 添加到单元格的 contentView 中??
提前致谢!!!请帮忙。
【问题讨论】:
最好有约束。 首选创建自定义xib单元 【参考方案1】:枚举 contentView 约束,直到找到带有 textLabel 的 trailing 约束,并增加/减少它对第一项的常量,直到它离开一些从开关(accessoryView)
【讨论】:
以上是关于如何以编程方式将约束添加到 tableView 单元格的默认 textLabel 和 accessoryView的主要内容,如果未能解决你的问题,请参考以下文章
如何以编程方式将 UISearchBar 添加到我的 tableView 中?
如何使用 tableView.dequeueReusableCell 以编程方式将单元格样式添加到单元格?