2013-03-14 67 views
7

因此,在我的通用应用程序中,我有一个人可以从我们的系统中查看现有注释列表的部分(通过简单的Web服务检索),然后创建一个新注释if他们要。所以对于iphone来说,这是非常简单的布局,一个TableViewController用于在NavigationBar上显示带有添加新项目的模式视图的“添加”按钮的列表。但在iPad上,同样的布局有很多浪费的空间,所以我选择使用popOver方法在popOver中显示列表,然后让它们从那里添加。我的问题是,当用户点击PopOver视图中的Add按钮时,模式视图将全屏显示,而不是在弹出视图中弹出。下面的代码我到目前为止:从弹出式视图中提取Modal View Controller

-(void) AddButtonPressed:(id)sender { 

NewNoteVC *newNote = [[[NewNoteVC alloc] initWithNibName:@"NewNoteVC" bundle:nil] autorelease]; 
newNote.defaultClientID = defaultClientID; 
UINavigationController *navCon = [[[UINavigationController alloc] initWithRootViewController:newNote] autorelease]; 
if ([isPopOver isEqualToString:@"YES"]) { 
    [navCon setModalInPopover:YES]; 
    [self.navigationController setModalInPopover:YES]; 
    [self.navigationController presentModalViewController:navCon animated:YES]; 
} 
else { 
    [self.navigationController presentModalViewController:navCon animated:YES]; 
} 

}

的“isPopOver”字符串就是从以前的屏幕调用此TableView中(我知道我可以关掉这个为布尔更好发送的占位符性能我只是把它放在一起真正快速地尝试它)。我知道我搞砸了,我只是不知道我需要什么设置才能正常工作。

+0

[UIPopoverController模态提供的可能重复不能在iOS 5中工作](http://stackoverflow.com/questions/7806979/uipopovercontroller-presented-modally-doesnt-work-in-ios-5) – Till 2013-03-14 19:52:02

回答

22

您需要定义视图控制器的modalPresentationStyle是“当前上下文”。

navCon.modalPresentationStyle = UIModalPresentationCurrentContext; 

这将导致在模态视图控制器填充像酥料饼的根控制器酥料饼。

+2

这是我需要的设置,谢谢。 – 2013-03-14 21:03:12

2

尝试使用的presentViewController:animated:completion:代替presentModalViewController:animated:并设置self.navigationController.definesPresentationContext = YES

相关问题