Iphone 如何阻止自定义UITableViewCell背景图像可拉伸?

Iphone 如何阻止自定义UITableViewCell背景图像可拉伸?,iphone,cocoa-touch,uitableview,uiimageview,Iphone,Cocoa Touch,Uitableview,Uiimageview,如果我在UITableViewCell子类的init方法中为我的表格单元格创建背景图像,该图像将与我绘制它的方式完全一致,tableView:heightForRowAtIndexPath:只是在其周围添加了一个间隙 但是,如果我在tableView的tableView:cellforrowatinexpath:方法中创建背景图像并进行设置,则更改单元格高度将拉伸图像 我需要在cellforrowatinexpath方法中创建背景视图,因为不同行的背景会发生变化。如何使图像的大小再次固定?您可以

如果我在UITableViewCell子类的init方法中为我的表格单元格创建背景图像,该图像将与我绘制它的方式完全一致,
tableView:heightForRowAtIndexPath:
只是在其周围添加了一个间隙

但是,如果我在tableView的
tableView:cellforrowatinexpath:
方法中创建背景图像并进行设置,则更改单元格高度将拉伸图像


我需要在
cellforrowatinexpath
方法中创建背景视图,因为不同行的背景会发生变化。如何使图像的大小再次固定?

您可以使用以下内容创建一些内容:

UIView *cellBackView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
<insert image>;
cell.backgroundView = cellBackView;
UIView*cellBackView=[[UIView alloc]initWithFrame:CGRectZero]autorelease];
;
cell.backgroundView=cellBackView;

我猜背景视图会自动拉伸,但您可以通过设置宽度和高度来确保图像不会在该视图上拉伸。这样,您可以对该视图执行任何您喜欢的操作。

您是否尝试过将单元格背景视图的contentMode设置为UIViewContentModeCenter

放在这里

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
     cell.backgroundView.contentMode = UIViewContentModeCenter;
}

恐怕没什么区别。我已经在实践中检查了我编辑的答案,结果成功了。你收到编辑答案的通知了吗?对不起,我刚刚看到了。似乎没有任何编辑答案的通知。它现在工作得很好。谢谢我尝试了一下,但它似乎没有任何作用:(