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 的框架?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 android ListView 中设置 ImageView 的宽度?