2009-12-01 91 views
0

[((UIImageView *)cell.backgroundView)removeFromSuperview];撤销removeFromSuperview?

它从UITableviewCell中删除cell.backgroundView,但我怎样才能把它重新带回来..? (再次添加这一观点?)

回答

2
[cell addSubview:myBackgroundView] 

myBackgroundView是一个UIImageView。如果您将myBackgroundView作为实例变量保存,则可以简单地再次添加它。如果你不这样做,你需要重新初始化backgroundView;

UIImageView *myBackgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"your image"]] autorelease]; 

类似的东西。

+0

removerFromSuperview之后,addSubview不起作用。我们需要重新启动UIView。复制粘贴UIView元素的初始化。恩。 backButton = [UIButton buttonWithType:UIButtonTypeCustom];等等 – Devaski 2012-03-02 07:19:15

1

您需要保持到了上海华参考,并使用addSubview

UIView *imageView = (UIView *)cell.backgroundView; 
UIView *imageSuperview = imageView.superView; // I assume it's cell, but just in case 

// Remove imageView 
[imageView removeFromSuperview]; 

// Add it again 
[imageSuperview addSubview:imageView]; 

如果您在存储领域,这样,请务必妥善保存您的引用ImageView的。