如何阻止我的自定义 UITableViewCell backgroundImage 可拉伸?
Posted
技术标签:
【中文标题】如何阻止我的自定义 UITableViewCell backgroundImage 可拉伸?【英文标题】:How can I stop my custom UITableViewCell backgroundImage from being stretchable? 【发布时间】:2011-04-20 11:41:24 【问题描述】:如果我在 UITableViewCell 子类的 init 方法中为表格单元格创建背景图像,图像就会完全按照我的绘制方式显示出来,tableView:heightForRowAtIndexPath:
只是在它周围添加一个间隙。
但如果我在 tableView 的 tableView:cellForRowAtIndexPath:
方法中创建背景图像并设置它,现在更改单元格高度将拉伸图像。
我需要在cellForRowAtIndexPath
方法中创建背景视图,因为不同行的背景会发生变化。我怎样才能让我的图像的大小再次固定?
【问题讨论】:
【参考方案1】:您是否尝试将单元格的 backgroundView 的 contentMode 设置为 UIViewContentModeCenter?
放在这里
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
cell.backgroundView.contentMode = UIViewContentModeCenter;
【讨论】:
恐怕没什么区别。 我已经在实践中检查了我编辑的答案并且它有效,您是否收到编辑答案的通知? 抱歉 - 刚刚看到。似乎没有任何关于已编辑答案的通知。它现在完美运行。谢谢!【参考方案2】:你可以用:
UIView *cellBackView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
<insert image>;
cell.backgroundView = cellBackView;
我的猜测是 backgroundView 会自动拉伸,但您可以通过设置宽度和高度来确保图像不会在该视图上拉伸。这样,您就可以使用该视图做任何您喜欢的事情。
【讨论】:
我已经尝试过了,但它似乎没有做任何事情:(以上是关于如何阻止我的自定义 UITableViewCell backgroundImage 可拉伸?的主要内容,如果未能解决你的问题,请参考以下文章
如何清除包含在重复使用的自定义 UITableViewCell 中的 WKWebview?
如何在 Storyboard 中的自定义 UITableViewCell 中配置 UITableView?