ios - 仅使用自动布局(无 initwithframe),为 UITableViewCell 配置 accessoryview 按钮

标签 ios cocoa-touch autolayout uikit

我发现了很多关于这个的问题,但他们都使用了 initWithFrame。有没有办法严格使用自动布局来做到这一点?

我试过将附件 View 设置为按钮并向单元格添加约束,将按钮添加为附件 View 的 subview 并向附件 View 添加约束。这是我最有希望的尝试:

button.translatesAutoresizingMaskIntoConstraints = NO;
cell.accessoryView.translatesAutoresizingMaskIntoConstraints = NO;
[cell.accessoryView addSubview:button];
NSDictionary *varDict = NSDictionaryOfVariableBindings(button);
[cell.accessoryView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|[button]|" options:0 metrics:nil views:varDict]];
[cell.accessoryView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[button]|" options:0 metrics:nil views:varDict]];

它一直告诉我它无法解析约束,因为相关 View 没有父 View 。我调用了 addSubview!怎么回事?

最佳答案

您可能不想为 cell.accessoryView 禁用 translatesAutoresizingMaskIntoConstraints,因为您希望保留 accessoryView 的布局在 cell 中,对吗?如果是,你应该删除这一行:

cell.accessoryView.translatesAutoresizingMaskIntoConstraints = NO;

关于ios - 仅使用自动布局(无 initwithframe),为 UITableViewCell 配置 accessoryview 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26812465/

相关文章:

iOS SpriteKit 与屏幕边缘的碰撞不起作用

objective-c - 检测 UIScrollview 滚动超过底部

ios - 单击刷新按钮时如何更新iOS应用程序 bundle 中的嵌入式JSON文件

ios - 使用自动布局以编程方式将自定义 UIView 居中

ios - UIButton 被自动布局拉伸(stretch)

ios - 用于应用程序首次使用教程的最佳设计/模式?

ios - SceneKit/ARKit 中的定位音频与 AudioKit

ios - 单击表格 View 内的按钮

ios - UILabel 重叠 UISwitch

ios - 是否可以纯粹基于自动布局来定义 UITableView 的 tableHeaderView 的高度?