当点击按钮时,会出现嵌入在 NavigationView 中的 popoverView。 我的代码如下:
-(IBAction)myStuffPOP:(id)sender
{
if(myStuffListViewController ==nil)
{
myStuffListViewController = [[MyStuffListViewController alloc] init];
}
UINavigationController *navcontroller=[[[UINavigationController alloc] initWithRootViewController:myStuffListViewController] autorelease];
// Here we create popover controller.
mystuffPopoverView = [[UIPopoverController alloc] initWithContentViewController:navcontroller] ;
CGRect popoverRect = [self.view convertRect:[sender frame] fromView:[sender superview]];
popoverRect.size.width = MIN(popoverRect.size.width, 100);
popoverRect.size.height = 40;
[mystuffPopoverView presentPopoverFromRect:popoverRect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
[navcontroller setNavigationBarHidden:NO];
}
在 PopoverView 的 NavigationView 中:
1st subView ---> 2nd SubView ---> 3rd Subview
如果我触摸 3rd SubView
,PopoverView 就会消失。
我的问题是:
当我再次单击按钮时,我想查看最新的 View - 第三个 subview 而不是第一个 subview 。
最佳答案
- 在.h文件中声明
UINavigationController *navcontroller;
仅在
navcontroller
上使用您的 Root View Controller 创建, 例如,在 viewDidLoad 方法中。- (void)viewDidLoad { myStuffListViewController = [[MyStuffListViewController alloc] init]; navcontroller=[[UINavigationController alloc] initWithRootViewController:myStuffListViewController]; }
显示具有现有导航堆栈的 UIPopoverController
-(IBAction)myStuffPOP:(id)sender { //Here we create popover controller. mystuffPopoverView = [[UIPopoverController alloc] initWithContentViewController:navcontroller] ; CGRect popoverRect = [self.view convertRect:[sender frame] fromView:[sender superview]]; popoverRect.size.width = MIN(popoverRect.size.width, 100); popoverRect.size.height = 40; [mystuffPopoverView presentPopoverFromRect:popoverRect inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES]; [navcontroller setNavigationBarHidden:NO]; }
不要忘记
释放
对象- (void)dealloc { [myStuffListViewController release]; [navcontroller release]; }
关于iphone - 单击 NavigationView 中嵌入的弹出窗口后,如何查看最新的 subview ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8211811/