【问题标题】:tab bar presenting performance issue显示性能问题的标签栏
【发布时间】:2011-10-10 09:20:21
【问题描述】:

我有一个视图控制器,其中包含一些自定义按钮,单击按钮后,我将呈现不同的视图。单击其中一个按钮,我将呈现带有导航控制器的标签栏控制器。

代码如下

TabBarView *tabbar=[[TabBarView alloc]init];
        UINavigationController *navNextController       = [[UINavigationController alloc] initWithRootViewController:tabbar];
        [self presentModalViewController:navNextController animated:YES];

标签栏代码如下

UINavigationController *localNavigationController;
tabbarcontroller = [[UITabBarController alloc] init];

localControllersArray = [[NSMutableArray alloc] initWithCapacity:3];
tabbarcontroller.delegate=self;


ShoppingListView *shop;
shop = [[ShoppingListView alloc] init];
shop.parentVC=self;
localNavigationController = [[UINavigationController alloc] initWithRootViewController:shop];
[localNavigationController.tabBarItem setTitle:@"Lists"];
[localNavigationController.tabBarItem setImage:[UIImage imageWithContentsOfFile:[IMBundle fullBundlePath:@"Images.bundle/Images/EnhancedMobileLists/list.png"]]];   
[localNavigationController viewWillAppear:YES];
[localControllersArray addObject:localNavigationController];
[localNavigationController release];
[shop release];

FavoritesViewController *fav;
fav = [[FavoritesViewController alloc] init];
fav.parentVC=self;
localNavigationController = [[UINavigationController alloc] initWithRootViewController:fav];
[localNavigationController.tabBarItem setTitle:@"Favorites" ];
[localNavigationController.tabBarItem setImage:[UIImage imageWithContentsOfFile:[IMBundle fullBundlePath:@"Images.bundle/Images/EnhancedMobileLists/favorites.png"]]];  
[localNavigationController viewWillAppear:YES];
[localNavigationController viewWillDisappear:YES];
[localControllersArray addObject:localNavigationController];
[localNavigationController release];
[fav release];

ShareListViewController *share;
share = [[ShareListViewController alloc] init];
share.parentVC=self;
localNavigationController = [[UINavigationController alloc] initWithRootViewController:share];
[localNavigationController.tabBarItem setTitle:@"Share" ];
[localNavigationController.tabBarItem setImage:[UIImage imageWithContentsOfFile:[IMBundle fullBundlePath:@"Images.bundle/Images/EnhancedMobileLists/share.png"]]];  
[localNavigationController viewWillAppear:YES];

[localControllersArray addObject:localNavigationController];
[localNavigationController release];
[share release];

tabbarcontroller.viewControllers = localControllersArray;
[self.view addSubview:tabbarcontroller.view];

主要问题是在单击按钮以显示标签栏视图时,它需要一些时间来加载,即有一段时间它看起来好像视图被挂起,而我正在另一个按钮中显示导航视图,它可以正常工作出任耽误。请告诉我我的代码有什么问题以及如何纠正在 iphone 中单击 uibutton 时显示标签栏的延迟。

提前致谢

【问题讨论】:

    标签: iphone


    【解决方案1】:

    下面的代码被写入Appdelegate文件,然后当点击这个方法被调用的按钮时,这个方法在按钮上被调用。

    -(void)ShowTabAbout{ [viewController.view removeFromSuperview]; self.imgV.frame=CGRectMake(0, 425, 320, 55); self.imgV.image=[UIImage imageNamed:@"tBar5.png"]; [self.tabctr.view addSubview:self.imgV]; self.tabctr.selectedIndex=4; // [自己 动画标签代码]; [窗口addSubview:tabctr.view];

     }
    

    以下动画代码用于导航视图控制器。

    -(void)animationTabBarCode{

     tr.type=kCATransitionPush;
     tr.subtype=kCATransitionFromRight;
    
    
     tr.delegate=self;    
    

    [self.window.layer addAnimation:tr forKey:nil]; }

    以下代码被植入到位于视图控制器方法文件的按钮中。

    -(IBAction)btnTapped:(id)sender{

    [appDelegate ShowTabAbout];

     [appDelegate animationTabBarCode];  
    

    }

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-31
    • 2023-04-08
    • 2019-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多