我是编程新手,我的问题是这个。
我有一个基于导航的应用程序,可在应用程序启动时显示表中SQLite数据库的数据。我希望有一个不同的主视图,并在用户按下选项卡菜单上的按钮时显示数据表。
我一直无法找到任何关于如何实现这一目标的信息或最好是教程。任何人都可以指出我正确的方向。
感谢。
答案 0 :(得分:2)
创建需要显示的类。假设您创建了名为LoginView
的类。
创建基于导航的应用程序时,AppDelegate
类包含以下代码:
// Add the navigation controller's view to the window and display.
[window addSubview:navigationController.view];
[window makeKeyAndVisible];
在步骤2中提到的代码上方添加以下行:
LoginView *logView = [[LoginView alloc] initWithNibName:@"LoginView" bundle:nil];
[self.navigationController pushViewController:(UIViewController *)logView animated:YES];
在AppDelegate
课程中添加以下或类似的功能。这将隐藏LoginView
视图并显示rootView
控制器类。
-(void) LoginSuccess
{
// Add the navigation controller's view to the window and display.
[self.navigationController popViewControllerAnimated:YES];
RootViewController *rootView = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
[self.navigationController pushViewController:(UIViewController *)rootView animated:YES];
[window addSubview:navigationController.view];
[window makeKeyAndVisible];
}
在LoginView
类中添加一个类似于下面提到的函数的函数。调用步骤4中提到的功能,如下所示:
-(IBAction) OpenNavigation
{
TestNavgAppDelegate *pApp = [[UIApplication sharedApplication] delegate];
[pApp LoginSuccess];
}
在RootView
控制器viewDidLoad
方法中添加以下代码,以便在需要时隐藏后退按钮:
[super viewDidLoad];
self.navigationItem.backBarButtonItem = NULL;
self.navigationItem.hidesBackButton = YES;
一切顺利。
答案 1 :(得分:1)
您只需从基于Naviagtion的应用程序切换到基于Tabbar的应用程序。
步骤1]使用UITabbarController打开MainWindow.xib和Replace navigationcontroller 第2步]在应用程序委托中替换变量
UINavigationController *navController;
带
UITabBarController* tabBarController;
即
@interface ViewTestAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
UINavigationController *navController;
}
@property (nonatomic, retain) IBOutlet UINavigationController *navController;
@property (nonatomic, retain) IBOutlet UIWindow *window;
带
@interface ViewTestAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
UITabBarController* tabBarController;
}
@property (nonatomic, retain) IBOutlet UITabBarController *tabBarController;
@property (nonatomic, retain) IBOutlet UIWindow *window;
并相应地在属性和.m文件中更新相同的内容
替换代码
[self.window addSubview:navController.view];
带
[self.window addSubview:tabBarController.view];
<{1>}中的方法
我们所做的全部用导航控制器替换了导航控制器。
连接相应的插座后,您需要做的就是将所需的视图控制器(您可以重复使用之前使用的视图来显示来自Sqlite数据库的数据)作为TabbarController的选定视图控制器,这将是第一个视图加载了tableview。
这一切看起来如下。