2

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

在此处输入图像描述

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

    [self.view addSubview tabBarController.view];

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

    [self.tabBarController.view removeFromSuperView];

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

    self.tabBarController.viewControllers = nil;

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

4

2 回答 2

1

我认为,由于您在退出并再次登录后没有使用新对象,因此它向您展示了最后一个阶段。登录后尝试初始化控制器对象可能对您有用。

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

干杯塔伦

于 2012-06-08T05:10:14.293 回答
0

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

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

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

于 2012-06-08T05:01:49.307 回答