1

我正在尝试调整默认 IASKAppSettingsViewController 的行为,以便它可以为自定义视图(类型 = IASKCustomViewSpecifier)提供自定义子视图控制器(如 type = PSChildPaneSpecifier)。

我试图继承 IASKAppSettingsViewController 而不向代码添加任何新功能。

但是,当我加载自己的子类时,设置视图完全是空的——即使对于一个裸子类也是如此。当我切换回默认的 IASKAppSettingsViewController 时,一切都会按预期再次运行。

我已经尝试在我的子类中的各个位置设置断点,并且一切似乎都运行良好 - 除了没有显示任何内容。

我尝试在文档中寻找线索,但似乎找不到任何解释原因的东西。InAppSettingsKit 的文档甚至声明它是为子类化而设计的。

我在这里想念什么?任何线索都值得赞赏 - 甚至更好的是一个小的分步指南,用于傻瓜。

更新了代码:

设置翻转视图。它适用于标准 IASKAppSettingsViewController,但因我的空派生 MyCustomSettingsViewController 而失败

- (IBAction)showInfo:(id)sender
{    
    // Setup navigation controller for settings view
    MyCustomSettingsViewController *settings = [[MyCustomSettingsViewController alloc] init];
    //IASKAppSettingsViewController *settings = [[IASKAppSettingsViewController alloc] init];
    settings.delegate = self;
    settings.showDoneButton = YES;
    UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:settings];
    navigation.navigationBar.barStyle = UIBarStyleBlack;
    [settings release];

    // Display the settings
    navigation.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
    [self presentModalViewController:navigation animated:YES];
    [navigation release];
}
4

2 回答 2

1

尝试将此方法添加到您的子类:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    return [super initWithNibName:@"IASKAppSettingsView" bundle:nibBundleOrNil];
}

如果你不这样做,默认实现IASKAppSettingsViewController就会启动,它会尝试找到一个以你的类名命名的 nib,在本例中为“MyCustomSettingsViewController.nib”。这应该是不存在的。

-init发生这种情况是因为调用的默认实现-initWithNibName:nil bundle:nilnil文件名意味着搜索默认笔尖。

于 2011-06-17T19:41:47.177 回答
0

尝试在初始化步骤上设置断点,如果您将其添加为子视图/推送导航控制器。对每种方法都使用 NSLogs,这样您就可以找到问题所在。如果没有任何效果,请向我发送代码(使用 IASKAppSettingsViewController 创建演示代码)以重新解决问题,那么我将调查该问题。

于 2011-06-14T00:55:15.030 回答