gpt4 book ai didi

IOS/objective-C/ Storyboard : Detect when show segue underway

转载 作者:行者123 更新时间:2023-11-28 23:48:16 25 4
gpt4 key购买 nike

我在 Storyboard中使用标准的“显示”segue 来实现两个 View Controller 之间的转换。

在第二个 VC 中,viewWillAppear 中有一个方法可以触发在转场期间出现的进度条并破坏其外观。

有什么方法可以检测到 segue 正在进行中,以便我可以将进度条延迟到 segue 完成之后?

我知道我可以将进度条移动到第二个 View Controller 生命周期中的稍后点,例如 viewDidAppear 但在大多数情况下,无需这种特定的转场即可到达 VC,我希望进度条立即触发。但是,如果在 segue 中,我想延迟它。

注意:这些是在 Storyboard中带有动画的花园综艺节目 Segue,而不是自定义 Segue。

最佳答案

您可以定义一个用于触发进度条的公共(public)方法并从第一个 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

关于IOS/objective-C/ Storyboard : Detect when show segue underway,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52239842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com