OGeek|极客世界-中国程序员成长平台

标题: ios - 使用多行内容 View 时附件 View 的对齐方式 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 11:44
标题: ios - 使用多行内容 View 时附件 View 的对齐方式

我有一个相当简单的 TableViewController 列出可以在收集时检查的项目。我已经成功地在每个单元格中实现了一个文字包装标签,并更新了 heightForRowAtIndexPath 使得每一行都是合适的高度。这运行良好:

注意:出于测试目的,我在单元格的 contentView 上设置了一个花哨的背景颜色。

enter image description here

当我尝试为每个单元格添加一个复选标记按钮作为附件 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 像素,对于跨越多行的单元格的对齐方式就不太正确。

enter image description here

上面的示例使用 44x44 作为按钮宽度。

谁能解释这里发生了什么?当 contentView 是 2 行而不是 1 行时,为什么会有不同的对齐方式?事实上,对于文本使用的每一行,对齐方式都会越来越偏离。如果有帮助,我可以添加行文本的代码。



Best Answer-推荐答案


我发现可以通过在附件 View 中设置按钮的高度以匹配将为该行计算的高度来解决此问题。

因此,heightForRow:atIndexPath: 中使用的代码应该复制到 cellForRowAtIndexPath 中并用于设置按钮的高度。

关于ios - 使用多行内容 View 时附件 View 的对齐方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9371179/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4