UITableViewCell 自定义图片大小、阴影和边框
Posted
技术标签:
【中文标题】UITableViewCell 自定义图片大小、阴影和边框【英文标题】:UITableViewCell Custom Image Size, Shadow And Borders 【发布时间】:2013-10-17 15:33:59 【问题描述】:以下是我从 App Store 的应用中截取的图片:
我创建了一个使用 StoryBoard 和自定义 tableview 单元格的应用程序。数据是从 Web 服务加载到其中的。这就是我想要的:
1) 如何根据图片改变uitableviewcell的大小?例如,如果一张图片是 640*500,那么 UITableViewCell 会相应地改变它的大小。如果图片的大小是640*1000,那么单元格应该相应地改变它的大小。
2)我怎样才能像上图一样在表格视图单元格周围添加灰色边框?
3)我怎样才能像上图一样添加从 UITableViewCell 中落下的阴影?
谢谢!
【问题讨论】:
【参考方案1】:目前我对您的问题有部分答案。问题的第二部分是彩色边框可以通过以下代码解决:
[cell.contentView.layer setBorderColor:[UIColor colorWithRed:222/255.0f green:222/255.0f blue:222/255.0f alpha:1.0f].CGColor];
[cell.contentView.layer setBorderWidth:5.0f];
【讨论】:
【参考方案2】:第 1 部分 tableviewcell 的高度是使用确定的
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
/*
Get the image size
CGFloat width = myImage.size.width;
CGFloat height = myImage.size.height;
use this to return the height of your cell.
*/
第 2 部分和第 3 部分 使用..
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
//This will give you access to the cell being rendered and any customization you want can be done here... You can use the earlier answer for this part.. I havent tried it but should work..
希望这会有所帮助..
【讨论】:
我需要先更改 UIImageView 的大小,然后再更改单元格的高度吗? 返回高度考虑UIImageView的大小,然后可以在cellForRowAtIndexPath里面手动设置UIImageView的frame以上是关于UITableViewCell 自定义图片大小、阴影和边框的主要内容,如果未能解决你的问题,请参考以下文章
自定义 UITableViewCell 中的 UIImageView - 始终调整为图像大小
根据 UITableViewCell 标签高度和宽度调整背景图片大小
在自定义 UITableViewCell 中调整 UITextView 的大小
添加附件时自定义 UITableViewCell 大小不正确