Ios UIView隐藏一次后不显示
我在Ios UIView隐藏一次后不显示,ios,iphone,objective-c,uiview,Ios,Iphone,Objective C,Uiview,我在ViewController上有一个名为scoreView的ui视图。加载ViewController时,我在viewDidLoad方法中隐藏scoreView。它很好用 - (void)viewDidLoad{ [super viewDidLoad]; self.navigationController.navigationBarHidden = YES; scoreView.hidden = YES; } 然后,在从另一个视图控制器推送到这个ViewController之后,我调用
ViewController
上有一个名为scoreView
的ui视图。加载ViewController
时,我在viewDidLoad
方法中隐藏scoreView
。它很好用
- (void)viewDidLoad{
[super viewDidLoad];
self.navigationController.navigationBarHidden = YES;
scoreView.hidden = YES;
}
然后,在从另一个视图控制器推送到这个ViewController
之后,我调用了一个方法,我想在其中显示scoreView。但这一观点仍被隐藏。我犯的错误在哪里
-(void)levelCompleteViewAppear: (NSString *)score{
NSLog(@"This method is called!");
scoreView.hidden = NO ;
[gameScore setText:score];
}
这就是我如何从视图控制器推送到ViewController
-(void)levelComplete{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
ViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
[self.navigationController pushViewController:vc animated:YES];
[vc levelCompleteViewAppear:scoreLabel.text];
}
将viewController推送到navigationController时,它不会直接调用viewDidLoad
。如果要使其可见,请将其写在viewwilldisease
或viedidisease
方法中。将viewController推到navigationController时,它不会直接调用viewDidLoad
。如果要使其可见,请将其写在viewwilldisease
或viedidisease
方法中。将viewController推到navigationController时,它不会直接调用viewDidLoad
。如果要使其可见,请将其写在viewwilldisease
或viedidisease
方法中。将viewController推到navigationController时,它不会直接调用viewDidLoad
。如果要使其可见,请将其写在视图将出现
或VIEDIDEANCE
方法中
- (void) viewWillAppear{
scoreView.hidden = YES;
}
将此添加到代码中
将此添加到代码中
将此添加到代码中
将此添加到代码中如果在操作中第一次使用ViewController类,则ViewDidLoad将调用,但如果您从其他ViewController返回,则ViewDidLoad将不会收到调用,因为您需要在ViewWillDisplay或ViewDidDisplay中显示视图。
假设您调用了类A,则ViewDidLoad将被调用,然后再次移动类B,则类B ViewDidLoad将被调用,但如果您再次返回类A,则ViewDidLoad将不会被调用,它将调用ViewWillDisplay和ViewDidDisplay
希望它能让您更清楚。如果在操作中第一次使用ViewController类,则ViewDidLoad将调用,但如果您从其他ViewController返回,则ViewDidLoad将不会收到调用,因为您需要在ViewWillDisplay或ViewDidDisplay中显示视图。
-(void)viewWillApper:(BOOL)animated{
scoreView.hidden = NO ;
}
假设您调用了类A,则ViewDidLoad将被调用,然后再次移动类B,则类B ViewDidLoad将被调用,但如果您再次返回类A,则ViewDidLoad将不会被调用,它将调用ViewWillDisplay和ViewDidDisplay
希望它能让您更清楚。如果在操作中第一次使用ViewController类,则ViewDidLoad将调用,但如果您从其他ViewController返回,则ViewDidLoad将不会收到调用,因为您需要在ViewWillDisplay或ViewDidDisplay中显示视图。
-(void)viewWillApper:(BOOL)animated{
scoreView.hidden = NO ;
}
假设您调用了类A,则ViewDidLoad将被调用,然后再次移动类B,则类B ViewDidLoad将被调用,但如果您再次返回类A,则ViewDidLoad将不会被调用,它将调用ViewWillDisplay和ViewDidDisplay
希望它能让您更清楚。如果在操作中第一次使用ViewController类,则ViewDidLoad将调用,但如果您从其他ViewController返回,则ViewDidLoad将不会收到调用,因为您需要在ViewWillDisplay或ViewDidDisplay中显示视图。
-(void)viewWillApper:(BOOL)animated{
scoreView.hidden = NO ;
}
假设您调用了类A,则ViewDidLoad将被调用,然后再次移动类B,则类B ViewDidLoad将被调用,但如果您再次返回类A,则ViewDidLoad将不会被调用,它将调用ViewWillDisplay和ViewDidDisplay
希望它能让你更清醒。试试这个
-(void)viewWillApper:(BOOL)animated{
scoreView.hidden = NO ;
}
-(void)viewDidLoad
{
[super viewDidLoad];
[self.view addSubview:scrollview];
[self.view bringSubviewToFront:scrollview];
}
试试这个
-(void)viewDidLoad
{
[super viewDidLoad];
[self.view addSubview:scrollview];
[self.view bringSubviewToFront:scrollview];
}
试试这个
-(void)viewDidLoad
{
[super viewDidLoad];
[self.view addSubview:scrollview];
[self.view bringSubviewToFront:scrollview];
}
试试这个
-(void)viewDidLoad
{
[super viewDidLoad];
[self.view addSubview:scrollview];
[self.view bringSubviewToFront:scrollview];
}
你调试了吗?scoreView
nil?按下视图后,您想显示分数视图吗?从另一个视图返回后,您希望取消将评分设置为ViewController
中的@属性,并在视图中调用levelcompleteviewseep
将显示:
当您想显示uiview时,需要重置scoreView.hidden=YES;,因为控件不会再次进入viewDidLoad方法,并且没有像[self.navigationController pushViewController:vc animated:no]这样的动画;你调试了吗?scoreView
nil?按下视图后,您想显示分数视图吗?从另一个视图返回后,您希望取消将评分设置为ViewController
中的@属性,并在视图中调用levelcompleteviewseep
将显示:
当您想显示uiview时,需要重置scoreView.hidden=YES;,因为控件不会再次进入viewDidLoad方法,并且没有像[self.navigationController pushViewController:vc animated:no]这样的动画;你调试了吗?scoreView
nil?按下视图后,您想显示分数视图吗?从另一个视图返回后,您希望取消将评分设置为ViewController
中的@属性,并在视图中调用levelcompleteviewseep
将显示:
当您想显示uiview时,需要重置scoreView.hidden=YES;,因为控件不会再次进入viewDidLoad方法,并且没有像[self.navigationController pushViewController:vc animated:no]这样的动画;你调试了吗?scoreView
nil?按下视图后,您想显示分数视图吗?从另一个视图返回后,您希望取消将评分设置为ViewController
中的@属性,并在视图中调用levelcompleteviewseep
将显示:
当您想显示uiview时,需要重置scoreView.hidden=YES;,因为控件不会再次进入viewDidLoad方法,并且没有像[self.navigationController pushViewController:vc animated:no]这样的动画;