在我的应用程序中,我使用XIB为Tab Bar创建了视图控制器。我的意思是我使用XIB在标签栏中添加了视图控制器。见图,
所以我的申请是这样的。我有一个注销功能,将显示登录页面。从登录页面我显示标签栏为
[self.view addSubview tabBarController.view];
当我退出时,我只需删除此标签栏并将登录屏幕显示为
[self.tabBarController.view removeFromSuperView];
然后它将显示登录屏幕。当我再次登录时,标签栏内的视图控制器不会重置。 我的意思是如果我在表格视图中显示了一些像名字这样的数据,它会在我再次登录时出现(有时我以不同的用户身份登录,并获得前一个用户的详细信息。)。我试过了
self.tabBarController.viewControllers = nil;
重置所有视图控制器,但它不再起作用。我想每次当我登录所有视图控制器时都应该调用ViewDidLoad:
,目前它正在调用viewWillAppear:
。所以,请让我知道如何解决这个问题
答案 0 :(得分:1)
我认为,一旦您退出并再次登录,您就不会使用新的对象,它会向您显示最后一个阶段。尝试在登录后初始化控制器对象可能对您有用。
如果您发现任何问题,请告诉我。
干杯 塔伦
答案 1 :(得分:0)
因为您使用Interface Builder而烦恼。好的,试着解释一下。在像MyViewController.m这样的类中,ypu需要设置如下属性:
@interface MyViewController : UIViewController
{
IBOutlet UITabBarController *mytabbar;
}
在IB(Interface Builder)中,您需要为UITabBarController设置mytabbar
属性名称。之后,您可以直接更改此变量,因为您有指向此变量的指针。