我正在情节提要中使用标准的“显示” segue在两个视图控制器之间进行过渡。
在第二个VC中,viewWillAppear
中有一种方法可以触发在搜索期间出现的进度条并破坏其外观。
有什么方法可以检测到进行中的任务,以便我可以将进度条推迟到完成任务之后?
我知道我可以将进度条移到第二个视图控制器的生命周期中的下一个位置,例如viewDidAppear
,但是在大多数情况下,无需特定的顺序就可以到达VC,我希望进度条立即射击。但是,如果要进行此操作,我想推迟。
注意:这些是花园综艺节目剧集,在Storyboard中带有动画,而不是自定义剧集。
答案 0 :(得分:1)
您可以定义触发进度条的公共方法,并从第一个VC调用它。
这是此方法的实现:
在FirstVC.m
中:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// set segu identifier to SecondVC in StoryBoard
if ([segue.identifier isEqualToString:@"SecondVC"]) {
SecondVC *secondVC = (SecondVC *)segue.destinationViewController;
[secondVC fireProgressBar];
}
}
在SecondVC.h
中:
#import <UIKit/UIKit.h>
@interface SecondVC : UIViewController
-(void)fireProgressBar;
@end
在SecondVC.m
中:
#import "SecondVC.h"
@implementation SecondVC
- (void)viewDidLoad {
[super viewDidLoad];
}
-(void)fireProgressBar {
NSLog(@"Progress Bar Fired!!!");
}
@end