Скрытие изображения при нажатии на другой контроллер вида - PullRequest
0 голосов
/ 03 апреля 2012

Я добавляю Uiimageview в качестве подпредставления к tabbarcontroller.view.когда я нажимаю на другой контроллер представления, tabbarcontroller скрывается, но изображение появляется при нажатии на другой класс. Внутри tabbarcontroller все элементы панели вкладок являются контроллером навигации.Я не добавил tabbar внутри tabbarcontroller. Вот мой код:

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];
[imgV release];



Dashboard_iPhone *dash = [[Dashboard_iPhone alloc] init];
UINavigationController *tabItem0 = [[[UINavigationController alloc] initWithRootViewController:dash] autorelease];
tabItem0.view.backgroundColor=[UIColor clearColor];

    TrackProgram_iPhone *rep = [[TrackProgram_iPhone alloc] init];
UINavigationController *tabItem1 = [[[UINavigationController alloc] initWithRootViewController:rep] autorelease];
tabBarController.tabBarItem.title=@"TrackProgram";  
tabItem1.view.backgroundColor=[UIColor clearColor];


TrackClinic_iPhone *loc = [[TrackClinic_iPhone alloc] init];
UINavigationController *tabItem2 = [[[UINavigationController alloc] initWithRootViewController:loc] autorelease];
tabBarController.tabBarItem.title=@"TrackClinic ";
tabItem2.view.backgroundColor=[UIColor clearColor];



tabBarController.viewControllers=[NSArray arrayWithObjects:tabItem0,tabItem1,tabItem2,nil];


[self.view insertSubview:tabBarController.view belowSubview:dash.view ];    

[self presentModalViewController:tabBarController animated:NO];

, когда я нажал на другой класс

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

{
    for(UIImage *img in view.subviews){//remove photoes from the subview
        [img removeFromSuperview]; 
    }
    [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];

}

1 Ответ

0 голосов
/ 03 апреля 2012

Я комментирую ваш старый вопрос.

Скрытие изображения

beacuse hidesBottomBarWhenPressed = yes означает, что ваша вкладка TabBarController скрывает панель не отображается.

Будьте осторожны, вам нужно добавить к imageView в tabBar не просматривать.

возможно, этот метод отправляет в сообщение tabBarController.tabBar подпредставления, когда работает контроллер push или pop объекта.

Итак, ваш imgV добавить на вкладку. вот например.

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

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

но осторожно tabBarController.tabBar высота-размер отличается от tabBarController.view

Итак, ваш кадр должен установить размер или координаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...