【发布时间】:2011-06-11 16:57:50
【问题描述】:
当用户点击 UIButton 时,我想在弹出框控制器中显示自定义菜单。然后我想呈现另一个菜单,当用户按下另一个按钮时使用完全相同的方法。
我的问题是这样的:当用户按下第一个按钮时,弹出框与我的菜单一起出现,这没关系。但是,当他按下第二个按钮时,我的应用程序没有关闭第一个弹出窗口,然后用第二个菜单显示第二个弹出窗口,而是关闭了第一个弹出窗口。然后当用户按下第二个按钮时,会出现第二个弹出框。因此,用户必须按两次才能看到第二个菜单。
这是我创建菜单和弹出框的方法:
CascadeMenuViewController *cascadeMenuViewController = [[CascadeMenuViewController alloc] initWithNibName:@"CascadeMenuViewController" bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:cascadeMenuViewController];
[cascadeMenuViewController release];
navigationController.navigationBar.barStyle = UIBarStyleBlack;
_popoverMenuView = [[UIPopoverController alloc] initWithContentViewController:navigationController];
[navigationController release];
[_popoverMenuView presentPopoverFromRect:_currentlyTouchedButtonView.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionLeft animated:YES];
当用户从弹出框内的菜单中选择 sthg 时,我是这样关闭弹出框的:
if (_popoverMenuView) {
[_popoverMenuView dismissPopoverAnimated:YES];
[_popoverMenuView release];
_popoverMenuView = nil;
}
你能告诉我我做错了什么吗?
提前谢谢...
【问题讨论】:
-
当用户点击第二个按钮时,您是否关闭了第一个弹出框?或者你是如何尝试关闭它的?
-
当用户从弹出窗口中选择一个菜单项时,我将关闭它。我的意思是从上面的代码开始,如果(_popoverMenuView)...然后当用户按下第二个按钮时,我正在创建一个新的 UIPopoverController 并将其分配给 _popover,就像我在用户按下第一个按钮时所做的那样。 (上面第一个代码sn-p)
标签: objective-c ipad uipopovercontroller