多视图iPhone应用程序
我正在尝试构建一个应用程序,打开它后,您将看到一个包含多个元素的表视图。单击某个图元后,将进入一个新视图,该视图是选项卡栏控制器。我已经创建了一个导航控制器作为我的根视图控制器,我想弄清楚的是,我是否需要将根视图控制器的功能从导航控制器元素传递到选项卡栏控制器?然后选项卡栏控制器开始工作?我一直在读书 开始iPhone4开发:探索IOS SDK[书]作者:大卫·马克、杰克·纳廷、杰夫·拉马奇多视图iPhone应用程序,iphone,uinavigationcontroller,uitabbarcontroller,multiview,Iphone,Uinavigationcontroller,Uitabbarcontroller,Multiview,我正在尝试构建一个应用程序,打开它后,您将看到一个包含多个元素的表视图。单击某个图元后,将进入一个新视图,该视图是选项卡栏控制器。我已经创建了一个导航控制器作为我的根视图控制器,我想弄清楚的是,我是否需要将根视图控制器的功能从导航控制器元素传递到选项卡栏控制器?然后选项卡栏控制器开始工作?我一直在读书 开始iPhone4开发:探索IOS SDK[书]作者:大卫·马克、杰克·纳廷、杰夫·拉马奇 第7章给出了一个很好的示例,说明了如何使用选项卡栏控制器,但如何将导航控制器的功能传递给我正在使用的选项
第7章给出了一个很好的示例,说明了如何使用选项卡栏控制器,但如何将导航控制器的功能传递给我正在使用的选项卡栏控制器?您可以按以下方式在根目录下使用导航控制器,并在该选项卡栏控制器之后使用导航控制器:- 这是您的应用程序代理的.h文件:-
@interface NavTabDemoAppDelegate : NSObject <UIApplicationDelegate>
{
IBOutlet UINavigationController *navController;
IBOutlet UITabBarController *TabBar;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navController;
@property (nonatomic, retain) IBOutlet UITabBarController *TabBar;
将导航控制器和选项卡栏控制器从library拖放到main window.xib,并为应用程序代理设置出口
在yr tableview控制器的.h文件中,创建yr委托的对象,如下所示
NavTabDemoAppDelegate *appdelegate;
viewdidload处yr tableview控制器的in.m文件
appdelegate = [[UIApplication sharedApplication] delegate];
只需在tableview控制器的DidSelectRowAtIndexPath中写入此命令
[self.navigationController pushViewController:appdelegate.TabBar animated:YES];
完成了 选项卡栏控制器应包含导航控制器。也许将表格视图也放入选项卡栏控制器更容易,但在表格视图中隐藏选项卡栏,然后在点击某一行时显示选项卡栏?Simon,谢谢。这是一个很有趣的观点。因此,我的下一个问题是,显示的选项卡栏(在选择表项之后)取决于按下的特定项。按照您的方式操作,应用程序是否能够加载不同的数据,还是已经预加载?您知道有这样的示例吗?因此,选项卡栏应显示不同的选项卡(或至少选项卡应显示不同的视图),具体取决于在表视图中选择的行?老实说,我不知道。我想这是可能的。
[self.navigationController pushViewController:appdelegate.TabBar animated:YES];