gpt4 book ai didi

ios - 继承的 View Controller 不会在 block 中自行解散#ICETutorial

转载 作者:行者123 更新时间:2023-11-29 03:04:58 24 4
gpt4 key购买 nike

我正在使用 ICETutorial与 cocoa 足类。

我在 SettingsViewController 中使用它,您可以在其中查看设置中的教程。

// SettingsViewController.m
Tutorial2ViewController *vc = [[Tutorial2ViewController alloc] init];
[self.navigationController setNavigationBarHidden:YES animated:NO];
[self.navigationController pushViewController:vc animated:NO];

Tutorial2ViewController继承自ICETutorialController

@interface Tutorial2ViewController : ICETutorialController

ICETutorialPages 具有将触发回调的按钮。它需要一个 block 。所以在我的实现中,我有这个:

- (id)init
{
ICETutorialPage *layer1 = [[ICETutorialPage alloc] initWithSubTitle:@"Page 1" description:@"Page 1" pictureName:@"Tutorial1_640x1136.png"];
NSArray *tutorialLayers = @[layer1];

self = [super initWithNibName:@"ICETutorialController_iPhone" bundle:nil andPages:tutorialLayers];

__weak Tutorial2ViewController *vc = self;
[self setButton1Block:^(UIButton *button){
NSLog(@"Button 1 pressed.");
[[vc.navigationController topViewController] dismissViewControllerAnimated:NO completion:nil];
}];

if (self != nil)
{

}
return self;
}

我将所有代码放在 init 中的原因是我不想让 SettingsViewController 知道 Tutorial2ViewController 的工作原理。设置应该分配和初始化,推送到导航 Controller 堆栈,Tutorial2ViewController 应该知道如何处理自己。

我确实得到了 button1 被按下的 NSLog,但是 View Controller 并没有自行关闭并将我返回到 SettingsViewController。

我会联系库的创建者并让他/她也看到这个问题。我感觉这不是我对blocks, navigation controllers, cocoapods等的误解...

谢谢

最佳答案

试试 [self.navigationController popViewControllerAnimated:YES];

关于ios - 继承的 View Controller 不会在 block 中自行解散#ICETutorial,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22882035/

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