UIView
上有一个名为scoreView
的{{1}}。当我加载ViewController
时,我会隐藏ViewController
方法中的scoreView
。它工作正常。
viewDidLoad
然后从另一个视图控制器推送到此- (void)viewDidLoad{
[super viewDidLoad];
self.navigationController.navigationBarHidden = YES;
scoreView.hidden = YES;
}
后,我调用一个方法,我想在其中显示scoreView。但scorView仍然被隐藏。我在做什么错误?
ViewController
这就是我从其他视图控制器推送到-(void)levelCompleteViewAppear: (NSString *)score{
NSLog(@"This method is called!");
scoreView.hidden = NO ;
[gameScore setText:score];
}
的方式。
ViewController
答案 0 :(得分:3)
试试这个,
-(void)viewDidLoad
{
[super viewDidLoad];
[self.view addSubview:scrollview];
[self.view bringSubviewToFront:scrollview];
}
答案 1 :(得分:0)
当您将viewController推送到navigationController时,它不会直接调用viewDidLoad
。如果您想让它可见,请在viewWillAppear
或vieDidAppear
方法中将其写下来。
答案 2 :(得分:0)
- (void) viewWillAppear{
scoreView.hidden = YES;
}
在您的代码中添加此内容
答案 3 :(得分:0)
如果第一次打开ViewController类然后ViewDidLoad会调用,但是如果你从其他ViewController返回,那么ViewDidLoad就不会调用它,你需要在ViewWillAppear或ViewDidAppear中显示你的View。 假设您调用A类然后ViewDidLoad将调用然后再移动B类然后B类viewDidLoad将调用,但如果您再次返回A类,那么您的viewDidLoad将不会调用它,它将调用ViewWillAppear和viewDidAppear。
希望它可以让你更清楚。
答案 4 :(得分:0)
-(void)viewWillApper:(BOOL)animated{
scoreView.hidden = NO ;
}