我创建了一个UIView,添加了UIView作为子视图的ImageView,并将我的uiview添加到导航控制器。这是我的代码: -
UIView* VwTopHdr=[[UIView alloc]initWithFrame:CGRectMake(0,0.3, 1024, 122)];
header_bgimageview =[[UIImageView alloc]initWithFrame:CGRectMake(0,0.3, 1024, 122)];
header_bgimageview.image=[UIImage imageNamed:@"headerBack.png"];
[VwTopHdr addSubview:header_bgimageview];
[header_bgimageview release];
[self.navigationController.view addSubview:VwTopHdr];
现在我想根据我的代码条件在符文时间更改“header_bgimageview”的背景图像。我编写代码来更改图像: -
header_bgimageview.image=[UIImage imageNamed:@"Differntimage.png"];
但我无法使用上面的代码行更改背景图片。我要做的是从导航控制器再次创建UIView并在导航控制器上添加。
为什么我无法直接更改图像而不是在控制器上再次创建和添加我的视图。如何直接更改图像?
期待您的有利回复。
答案 0 :(得分:0)
试试这个,这基本上会使视图无效
[VwTopHdr setNeedsDisplay];
关于UIView的每个类参考文档:
<强> setNeedsDisplay 强>
将接收器的整个边界矩形标记为需要重绘。 - (void)setNeedsDisplay