【发布时间】:2013-12-19 13:35:08
【问题描述】:
在我的应用程序中,我有一个 TabBarController(其中有 3 个 ViewControllers 为 tabBarItems),它是从另一个 ViewController(称为 HomeViewController)呈现的。 HomeViewController 有三个按钮,按下时会在 tabBarController 中显示相应的控制器。
第二个tabBarItem 中的控制器处理一些信息并将该信息发送到第一个tabBarItem 中的控制器,该控制器更新其表并显示处理后的数据。但是问题出在第一个控制器的ViewDidLoad方法上。
在它的viewDidLoad 方法中,我最初隐藏了表格,这样如果用户单击HomeViewController 上的第一个按钮,他就看不到空表格。如果用户单击HomeViewController 上的第一个按钮(以显示第一个视图控制器),这将按计划进行
问题是:如果用户首先从HomeViewController 转到第二个viewController,则调用它的viewDidLoad 方法(这不是问题)。但是,当用户从第二个ViewController转到第一个Viewcontroller时,调用了第一个Viewcontroller的viewDidLoad方法,我的表被隐藏了..!!需要实际显示。
我知道我的问题很难以这种方式理解,但谁能帮忙??
这是我第一个ViewController的代码:
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"View Did Load of CCVC");
//self.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"top_bar.png"]];
[self.customercareSearchbar setBackgroundImage:[UIImage imageNamed:@"dark_grey_search_back.png"]];
[self.view addSubview:self.customercareSearchbar];
[self.view addSubview:self.customerCareTableView];
self.customercareSearchbar.delegate = self;
self.customerCareTableView.delegate = self;
//[self.customerCareTableView setBackgroundColor:[UIColor lightGrayColor]];
[self.customerCareTableView setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)];
////HERE LIES THE Main PROBLEM
[self.customerCareTableView setHidden:YES];
[self.customercareSearchbar becomeFirstResponder];
}
是否可以移动
[self.customerCareTableView setHidden:YES];
[self.customercareSearchbar becomeFirstResponder];
还有其他方法吗??我知道它在init 中不起作用,因为视图是在调用init 之后加载的..
【问题讨论】:
标签: ios iphone uitabbarcontroller viewdidload