【问题标题】:Connect IASKAppSettingsView to tabbar item将 IASKAppSettingsView 连接到标签栏项目
【发布时间】:2011-07-14 13:20:09
【问题描述】:
对于我正在开发的 iPhone 应用程序,我想使用 InAppSettingsKit 来处理应用程序内的所有设置:http://www.inappsettingskit.com/ 示例应用程序运行没有问题,但我不确定如何在我自己的应用程序中使用它.好像没有文档。
我有一个名为设置的选项卡项,它应该显示 InAppSettingsKit。当我将标签栏项目的 NIB 名称设置为“IASKAppSettingsView”时,我只会收到错误消息。我查看了示例代码,但我不知道它们是如何连接视图的,因为它们的 NIB 名称是空的。即使我在该字段中添加了一些无意义的代码,它仍然会显示 IASKAppSettingsView 而不会出现任何错误。
有没有人知道如何将此标签栏项目连接到 IASKAppSettingsView 或者可以指出一些文档或教程,因为我无法找到它们。谢谢!
【问题讨论】:
标签:
iphone
uitabbar
inappsettingskit
【解决方案1】:
通过复制和粘贴示例应用中的一些代码,我成功地完成了您需要的操作。这对我有用:
nav3.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"My title" image:[UIImage imageNamed:@"tabbar_icon_settings.png"] tag:0];
IASKAppSettingsViewController *settings = [[IASKAppSettingsViewController alloc] initWithNibName:@"IASKAppSettingsView" bundle:nil];
//settings.delegate = self;
settings.showDoneButton = NO;
[nav3 pushViewController:settings animated:NO];
[settings release];
UITabBarController *tbc = [[UITabBarController alloc] init];
tbc.viewControllers = [NSArray arrayWithObjects:..., nav3, nil];
当然,您需要正确释放和保留您的内容。请注意,“我的标题”被“设置”覆盖,我认为这是 IASK 在某处设置的。我使用的是 push-in-navigator 版本,示例中还有一种模态方式。
【解决方案2】:
我通过扩展IASKAppSettingsViewController 解决了这个问题:
@interface YourSettingsVC : IASKAppSettingsViewController
// some header stuff
@end
这个类必须重写
viewDidLoad: 以分组样式手动实例化 self.tableView。否则默认为UITableViewStylePlain。
- (void)viewDidLoad {
[super viewDidLoad];
self.tableView = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStyleGrouped];
}
通过这种方式,我可以轻松地将其添加为自定义视图控制器,作为位于我的MainWindow.xib 中的UITabBarController 中的选项卡之一。无需额外的代码!