重置标签栏控制器视图控制器

时间:2012-06-08 04:30:29

标签: iphone uitabbarcontroller

在我的应用程序中,我使用XIB为Tab Bar创建了视图控制器。我的意思是我使用XIB在标签栏中添加了视图控制器。见图,

enter image description here

所以我的申请是这样的。我有一个注销功能,将显示登录页面。从登录页面我显示标签栏为

    [self.view addSubview tabBarController.view];

当我退出时,我只需删除此标签栏并将登录屏幕显示为

    [self.tabBarController.view removeFromSuperView];

然后它将显示登录屏幕。当我再次登录时,标签栏内的视图控制器不会重置。 我的意思是如果我在表格视图中显示了一些像名字这样的数据,它会在我再次登录时出现(有时我以不同的用户身份登录,并获得前一个用户的详细信息。)。我试过了

    self.tabBarController.viewControllers = nil;

重置所有视图控制器,但它不再起作用。我想每次当我登录所有视图控制器时都应该调用ViewDidLoad:,目前它正在调用viewWillAppear:。所以,请让我知道如何解决这个问题

2 个答案:

答案 0 :(得分:1)

我认为,一旦您退出并再次登录,您就不会使用新的对象,它会向您显示最后一个阶段。尝试在登录后初始化控制器对象可能对您有用。

如果您发现任何问题,请告诉我。

干杯 塔伦

答案 1 :(得分:0)

因为您使用Interface Builder而烦恼。好的,试着解释一下。在像MyViewController.m这样的类中,ypu需要设置如下属性:

@interface MyViewController : UIViewController
{
    IBOutlet UITabBarController *mytabbar;
}

在IB(Interface Builder)中,您需要为UITabBarController设置mytabbar属性名称。之后,您可以直接更改此变量,因为您有指向此变量的指针。