我正在尝试调整默认IASKAppSettingsViewController的行为,以便它可以为自定义视图提供自定义子视图控件(对于type = PSChildPaneSpecifier)(type = IASKCustomViewSpecifier)。
我尝试将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];
}
答案 0 :(得分:1)
尝试将此方法添加到您的子类中:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
return [super initWithNibName:@"IASKAppSettingsView" bundle:nibBundleOrNil];
}
如果你不这样做,IASKAppSettingsViewController
的默认实现就会启动并尝试查找以你的类名命名的nib,在本例中为“MyCustomSettingsViewController.nib”。这可能不存在。
这是因为-init
的默认实现调用了-initWithNibName:nil bundle:nil
和nil
,因为文件名意味着搜索默认的笔尖。
答案 1 :(得分:0)
尝试在初始化步骤中设置断点,如果要将其添加为子视图/推送导航控制器。对每种方法使用NSLog,以便找到问题。如果没有任何作用,请将代码发送给我(使用IASKAppSettingsViewController创建一个演示代码)来解决问题,然后我会研究这个问题。