如何以编程方式将约束添加到tableView单元格的默认textLabel和accessoryView

时间:2017-12-22 09:40:06

标签: ios objective-c uitableview autolayout

我有一个单元格,因为我想要使用以下方式的默认行为 -

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)之间的问题,这两个问题都是defalt,而不是作为subView添加到cellView的内容中?

提前致谢!!!请帮忙。

1 个答案:

答案 0 :(得分:0)

枚举 contentView 约束,直到使用 textLabel 找到尾随约束,然后增加/减少它对第一个项目的持续累积直到它离开开关(accessoryView)