在我的应用程序中,我有一个来自另一个TabBarController (称为HomeViewController)的ViewController (3 ViewControllers作为tabBarItems)。HomeViewController有三个按钮,在按下按钮时显示tabBarController中相应的控制器。
第二个tabBarItem中的Controller处理一些信息并将该信息发送给第一个tabBarItem中的控制器,后者更新其表并显示已处理的数据。然而,问题在于第一控制器的ViewDidLoad方法。
在它的viewDidLoad方法中,我首先隐藏表,这样如果用户单击HomeViewController上的第一个按钮,空表对他是不可见的。这是根据计划进行的,以防用户单击HomeViewController上的第一个按钮(显示第一个视图控制器)
问题是:如果用户首先从HomeViewController转到第二个HomeViewController,那么调用它的viewDidLoad方法(这不是问题)。但是,当用户从第二个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之后加载的。
发布于 2013-12-19 13:47:03
您可以在第一个ViewController的ViewWillAppear中根据从第二个ViewController接收到的值添加一些逻辑,以便将customerCareTableView隐藏属性设置为NO。
https://stackoverflow.com/questions/20683168
复制相似问题