Iphone 如何阻止自定义UITableViewCell背景图像可拉伸?
如果我在UITableViewCell子类的init方法中为我的表格单元格创建背景图像,该图像将与我绘制它的方式完全一致,Iphone 如何阻止自定义UITableViewCell背景图像可拉伸?,iphone,cocoa-touch,uitableview,uiimageview,Iphone,Cocoa Touch,Uitableview,Uiimageview,如果我在UITableViewCell子类的init方法中为我的表格单元格创建背景图像,该图像将与我绘制它的方式完全一致,tableView:heightForRowAtIndexPath:只是在其周围添加了一个间隙 但是,如果我在tableView的tableView:cellforrowatinexpath:方法中创建背景图像并进行设置,则更改单元格高度将拉伸图像 我需要在cellforrowatinexpath方法中创建背景视图,因为不同行的背景会发生变化。如何使图像的大小再次固定?您可以
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;
}
恐怕没什么区别。我已经在实践中检查了我编辑的答案,结果成功了。你收到编辑答案的通知了吗?对不起,我刚刚看到了。似乎没有任何编辑答案的通知。它现在工作得很好。谢谢我尝试了一下,但它似乎没有任何作用:(