在我的通用应用程序中,有一个部分可以查看我们系统中现有的笔记列表(通过简单的Web服务检索),并且也可以在需要时创建新的笔记。对于iPhone,它的布局非常简单,使用TableViewController显示带有“添加”按钮的列表,该按钮位于NavigationBar上,以呈现添加新项的模态视图。但是,在iPad上,相同的布局浪费了很多空间,因此我选择了弹出窗口方法,以在弹出窗口中显示列表,然后让用户从那里添加。我的问题在于,当用户在PopOver视图内点击Add按钮时,模态视图全屏显示,而不仅仅是在PopOver视图内显示。以下是我目前拥有的代码:
-(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的前一个屏幕发送的占位符(我知道我可以将其转换为布尔值以获得更好的性能,我只是很快地把它放在一起尝试一下)。我知道我弄错了什么地方,只是不知道需要哪些设置才能让它正常工作。