iPhone:如何在表格中设置 ImageView 的框架?

Posted

技术标签:

【中文标题】iPhone:如何在表格中设置 ImageView 的框架?【英文标题】:iPhone : How to set ImageView's frame in table? 【发布时间】:2011-07-25 06:31:22 【问题描述】:

我已经使用以下代码在表格中设置了 imageView 的框架。

  cell.imageView.image = [UIImage imageWithContentsOfFile:[[users objectAtIndex:indexPath.row] valueForKey:@"ImagePath"]];
  [cell.imageView setFrame:CGRectMake(5, 5, 10, 10)];

但图像是从单元格的角落显示的。

它不会改变位置或大小。

我该怎么办?

【问题讨论】:

【参考方案1】:

您将无法更改单元格 imageView 框架。您最好的选择是创建一个自定义单元格。

【讨论】:

子类化 layoutSubviews 也是一种选择。 “最佳选择”取决于上下文。如果移动 imageView 是唯一需要的更改,则子类化可能会更容易。但是当您开始自定义表格视图单元格时,确实在某些时候创建自定义单元格可能会更好。 谢谢!很有用。【参考方案2】:

您可以通过创建 UITableViewCell 的子类并覆盖 layoutSubviews 方法来更改单元格的框架。

在你layoutSubviews的子类实现中,先调用super的实现,再修改imageView的frame。

【讨论】:

参见:***.com/questions/4208786/…。【参考方案3】:

您可以将所需的图像视图作为子视图添加到单元格

UIImageView *imageView = [[UIImageView alloc] init];
imageView.image = [UIImage imageWithContentsOfFile:[[users objectAtIndex:indexPath.row] valueForKey:@"ImagePath"]];
[imageView setFrame:CGRectMake(5, 5, 10, 10)];
[cell addSubview:imageView];

【讨论】:

虽然这可能有效,但这会将图像覆盖在单元格文本上。 您可以将自己的 UILabel 添加到单元格中,这样您就可以自定义文本。【参考方案4】:

您可以创建自定义表格视图单元格并将元素放置在您想要的位置。 这也很有帮助,因为您可以控制您希望您的 UI 与要求的相似程度。

您可以在interface builder 或code 中进行操作。还有很多示例,因为这是 iphone 应用程序开发中最常见的方法(具有自定义表格视图单元格),您可以使用委托来填充表格视图,它就像一个魅力。

【讨论】:

以上是关于iPhone:如何在表格中设置 ImageView 的框架?的主要内容,如果未能解决你的问题,请参考以下文章

如何在edittext中设置ImageView [复制]

如何在 android ListView 中设置 ImageView 的宽度?

如何在 UITableCellView 中设置 imageView 属性以仅显示背景颜色?

我们如何在 uitableview 单元格中设置标签约束?

安卓imageview怎么在代码中设置src

在 ImageView 中设置位图图像