2011-04-20 57 views
2

如果我在我的UITableViewCell子类的init方法中为我的表格单元格创建了一个背景图像,则图像完全是如何绘制的,并且tableView:heightForRowAtIndexPath:只是在它周围增加了一个间隙。如何阻止我的自定义UITableViewCell backgroundImage被拉伸?

但是,如果我在我的tableView的tableView:cellForRowAtIndexPath:方法中创建背景图像并设置它,那么更改单元格高度将会延长图像。

我需要在cellForRowAtIndexPath方法中创建背景视图,因为不同行的背景会发生变化。我怎样才能让我的图像的大小再次固定?

回答

5

您是否尝试过将contentMode设置为UIViewContentModeCenter作为单元格的backgroundView?

把它放在这里

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

没什么区别,我害怕。 – 2011-04-20 12:12:04

+0

我检查我的编辑答案练习和它的工作,你会得到编辑答案的通知? – tsakoyan 2011-04-20 12:50:51

+0

对不起 - 只是看到它。似乎没有任何通知编辑的答案。 – 2011-04-20 16:19:32

0

您可以创建的东西:

我的猜测是backgroundView就会自动strechted,但你可以确保图像不拉伸上设置一个宽度和高度视图。这样,你可以用这种观点做任何你喜欢的事情。

+0

我给这是一个尝试,但它似乎并没有做任何事情:( – 2011-04-20 12:12:26