OStack程序员社区-中国程序员成长平台

标题: iphone - 在 UItableViewCell 中居中 UIImageView 不起作用,如何解决? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 18:20
标题: iphone - 在 UItableViewCell 中居中 UIImageView 不起作用,如何解决?

我可以将单元格子类化并解决问题,但我想知道为什么这不起作用。

我在单元格中设置了一个图像,然后在这个方法中,我将图像向右移动:

- (void)tableViewUITableView *)tableView willDisplayCellUITableViewCell *)cell forRowAtIndexPathNSIndexPath *)indexPath
{
        [cell.imageView setFrame:CGRectMake(cell.contentView.bounds.size.width/2 - cell.imageView.frame.size.width/2 + 100,
                                            cell.contentView.bounds.size.height/2 - cell.imageView.frame.size.height/2,
                                            cell.imageView.frame.size.width,
                                            cell.imageView.frame.size.height)];
        NSLog(@"center: %@", NSStringFromCGPoint(cell.imageView.center));
        NSLog(@"frame: %@", NSStringFromCGRect(cell.imageView.frame));
}

请注意我添加的 +100 以确保它在右侧。

当我检查控制台时,它表明:

中心:{250, 57.5}

帧:{{150, 7.5}, {200, 100}}

但是输出是这样的:

grouped cell image

图像仍与左侧对齐。这可以改变吗?如果可以,如何改变?



Best Answer-推荐答案


如果你去 UITableViewCell 的头文件,你会发现...

> // Content.  These properties provide direct access to the internal
> label and image views used by the table view cell.  These should be
> used instead of the content properties below.
> @property(nonatomic,readonly,retain) UIImageView  *imageView
> __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);   // default is nil.  image view will be created if necessary.

所以你可以看到它对 ImageView 说 readOnly 属性...我认为这解释了你无法移动 imageView。

关于iphone - 在 UItableViewCell 中居中 UIImageView 不起作用,如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8295156/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4