【问题标题】:How to Add constraints programmatically to default textLabel and accessoryView of tableView cell如何以编程方式将约束添加到 tableView 单元格的默认 textLabel 和 accessoryView
【发布时间】: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单元

标签: ios objective-c uitableview autolayout


【解决方案1】:

枚举 contentView 约束,直到找到带有 textLabeltrailing 约束,并增加/减少它对第一项的常量,直到它离开一些从开关(accessoryView)

【讨论】:

    猜你喜欢
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2015-11-30
    • 1970-01-01
    • 2017-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多