隐藏一次后UIView没有显示

时间:2014-02-13 11:51:22

标签: ios iphone objective-c uiview

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

5 个答案:

答案 0 :(得分:3)

试试这个,

-(void)viewDidLoad
{
    [super viewDidLoad];
    [self.view addSubview:scrollview];
    [self.view bringSubviewToFront:scrollview];
}

答案 1 :(得分:0)

当您将viewController推送到navigationController时,它不会直接调用viewDidLoad。如果您想让它可见,请在viewWillAppearvieDidAppear方法中将其写下来。

答案 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 ;
}