隐藏Imageview

时间:2012-04-03 07:52:46

标签: iphone uiimageview

我将uiimageview添加为tabbarcontroller.view的子视图。当我推到其他viewcontroller tabbar被隐藏但添加到tabbarcontroller的图像出现。 请帮我删除imageview,同时推送到其他viewcontroller。

        imgV=[[UIImageView alloc]initWithFrame:CGRectMake(0, 428, 320, 48)];
    tabBarController = [[UITabBarController alloc] init];
    tabBarController.moreNavigationController.navigationBar.barStyle = UIBarStyleBlackOpaque; 
tabBarController.moreNavigationController.topViewController.view.backgroundColor=[UIColor clearColor];  
tabBarController.delegate=self;

// tabBarController.selectedIndex = 0;

UIImage *img  = [UIImage imageNamed: @"home_selected.png"];
[imgV setImage:img];
//    [imgV setAlpha:0.5];

[self.tabBarController.view  addSubview:imgV];
[self.tabBarController.view  bringSubviewToFront:imgV];  

推送到其他视图控制器时

    -(void)logoutBtnTap
    {
appDelegate.enterLogout=YES;
for(UIImageView *view in[self.view subviews])

{
    [view removeFromSuperview];

}


Login_iPhone *controller=[[Login_iPhone alloc]init];
[controller setHidesBottomBarWhenPushed:YES];
[acctExec_iPhone.imgV removeFromSuperview];
acctExec_iPhone.imgV.hidden=YES;

[self.navigationController pushViewController:controller animated:YES];

[controller release];

}

2 个答案:

答案 0 :(得分:1)

for(UIImageView *view in[self.view subviews])

{  
    for(UIImage *img in view.subviews){//remove photoes from the subview
     [img removeFromSuperview]; 
}
   [view removeFromSuperview];//remove uiimageview from the main view

}

答案 1 :(得分:0)

beacuse hidesBottomBarWhenPushed=yes表示你的tabBarController隐藏标签栏不能查看。

请注意,您需要在tabBar中添加到imageView而不是视图。

当操作push或pop对象控制器时,也许这个方法发送到消息tabBarController.tabBar子视图。

所以,你的imgV添加到tabbar。这里举个例子。

UIImage *img  = [UIImage imageNamed: @"home_selected.png"];
[imgV setImage:img];

[self.tabBarController.tabBar addSubview:imgV];
[self.tabBarController.tabBar bringSubviewToFront:imgV];

但仔细tabBarController.tabBar高度大小不同tabBarController.view

所以,你的框架应该设置尺寸或坐标。