我有一个相当简单的 TableViewController 列出可以在收集时检查的项目。我已经成功地在每个单元格中实现了一个文字包装标签,并更新了 heightForRowAtIndexPath 使得每一行都是合适的高度。这运行良好:
注意:出于测试目的,我在单元格的 contentView 上设置了一个花哨的背景颜色。
当我尝试为每个单元格添加一个复选标记按钮作为附件 View 时,问题就出现了:
UIImage *image = [UIImage imageNamed"checked.png"];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
CGRect frame = CGRectMake(0.0, 0.0, 44.0, 44.0);
button.frame = frame;
[button setImage:image forState:UIControlStateNormal]
button.backgroundColor = [UIColor redColor];
cell.accessoryView = button;
由于某种原因,一旦按钮大小超过大约 26x26 像素,对于跨越多行的单元格的对齐方式就不太正确。
上面的示例使用 44x44 作为按钮宽度。
谁能解释这里发生了什么?当 contentView 是 2 行而不是 1 行时,为什么会有不同的对齐方式?事实上,对于文本使用的每一行,对齐方式都会越来越偏离。如果有帮助,我可以添加行文本的代码。
Best Answer-推荐答案 strong>
我发现可以通过在附件 View 中设置按钮的高度以匹配将为该行计算的高度来解决此问题。
因此,heightForRow:atIndexPath: 中使用的代码应该复制到 cellForRowAtIndexPath 中并用于设置按钮的高度。
关于ios - 使用多行内容 View 时附件 View 的对齐方式,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/9371179/
|