不知道如何命名这个问题,但我遇到了这样一个问题:到目前为止,我的应用程序主要在一个带有表格视图的导航控制器中运行。但现在我正在尝试集成下拉设置菜单,但无法正确完成。
我现在所做的方式,它的工作原理
从一个按钮调用changeController。ChangeController 在 appdelegate 中。
- (void) ChangeController
{
self.window.backgroundColor = [UIColor blackColor];
DropDownExample *e = [[DropDownExample alloc] initWithStyle:UITableViewStyleGrouped];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:e];
[e release];
[self.window addSubview:self.navigationController.view];
self.window.backgroundColor = [UIColor blackColor];
[self.window makeKeyAndVisible];
}
但是这种方法有后果——如果按下按钮没有过渡,设置菜单会立即出现,你不能通过上面的导航栏返回(那里什么都没有)。
那么如何正确地做到这一点?我是 ios 新手,所以请告诉我整个想法如何做到这一点。
来自 appdelegate 的 Didfinishlaunchingwithoptions 方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease
];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
TableViewController *tableVC = [[TableViewController alloc] initWithNibName:@"TableView" bundle:nil andType:CONTROLLER_TYPE_FIRST];
UINavigationController *navC = [[UINavigationController alloc] initWithRootViewController:tableVC];
self.navigationController = navC;
[tableVC release];
[navC release];
self.window.rootViewController = _navigationController;
[self.window makeKeyAndVisible];
return YES;
}