【发布时间】:2013-07-04 12:31:42
【问题描述】:
我对 iOS 比较陌生,因此对于我的问题中的任何不一致之处,我深表歉意。我需要有关我正在尝试构建的应用程序的以下问题的帮助。我的问题是:我正在使用的应用程序具有基于导航的功能,其中包含一个表格视图(用户每天填写)和一个列出用户输入的详细表格视图,但这只是应用程序的一个功能。 我想要一个基于主选项卡的视图,其中一个选项卡(每个选项卡代表一个功能)指向该模块。
我想询问 步骤和更改,例如 app delegate 或 rootviewcontroller(如果我可以发布代码它有助于更好)使应用程序以多选项卡式条形视图开始,其中一个选项卡指的是链接到基于导航的应用程序的 rootviewontroller 的视图。
总结:需要一个主标签栏视图,其中一个标签指向屏幕截图中突出显示的 rootviewcontroller(下面的链接)
如果有帮助的话,我在应用委托中的相关功能代码:
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
RootViewController *rootViewController = (RootViewController *)[[navigationController viewControllers] objectAtIndex:0];
rootViewController.managedObjectContext = self.managedObjectContext;
//Next TWO LINES FOR COLOR BACKGROUND
[[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setBackgroundColor:[UIColor redColor]];
}
PS:这是故事板的屏幕截图:我希望有一个选项卡引用链接类 rootviewcontroller.m/h 的视图(在屏幕截图中突出显示)
截图:http://i.stack.imgur.com/G9AXI.png
编辑: 实际的问题可以看作:我需要如何以及做什么才能拥有一个 tabbarviewcontroller,我将在情节提要中添加 become 我的 rootviewcontroller 而不是导航控制器(在屏幕截图中以黑色突出显示:http://i.stack.imgur.com/G9AXI.png)。
我当前的 rootviewcontroller.m 管理与当前 navigationviewcontroller 的 tableview 相关的任何内容,我是否也需要更改它?
对于过多的细节,我深表歉意,我是 iOS 开发的新手。
从这个http://i.stack.imgur.com/suLBm.png我试图只用故事板嵌入标签栏视图控件到这个http://i.stack.imgur.com/TZxLo.png我试图通过故事嵌入标签控制器但我收到一个错误:'NSInvalidArgumentException',原因:'-[UIViewController setManagedObjectContext:]: unrecognized selector sent to instance 0x8184e30'
与此相关的类是(尤其是 rootviewcontroller.m,它现在是一个导航控制器:
AppDelegate.{h,m} 配置核心数据堆栈和第一个视图控制器。
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
RootViewController *rootViewController = (RootViewController *)[[navigationController viewControllers] objectAtIndex:0];
rootViewController.managedObjectContext = self.managedObjectContext;
}
RootViewController.{h,m} 管理用于列出所有输入值的表格视图。提供用于添加和删除这些值的控件。
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationItem.leftBarButtonItem = self.editButtonItem;
}
DetailViewController.{h,m} 管理详细显示以显示每个输入值的详细信息。
我最初的猜测是我需要更改 rootviewcontroller appdidfinishlaunching。
有什么建议吗?
【问题讨论】:
标签: ios uinavigationcontroller uitabbarcontroller uistoryboard