我正在编写一个iPad应用程序,要求用户输入名称和地址,并希望使用ABNewPersonViewController作为界面。文档说这个视图控制器只能在导航控制器中使用。无论如何我只能在子视图(带导航控制器)中使用ABNewPersonViewController而不占用我的整个屏幕?我假设我可以在弹出窗口中轻松完成此操作,但我更愿意将其集成到我的界面中...感谢您提供的任何帮助!
答案 0 :(得分:0)
考虑按UINavigationViewController
展示您的presentModalViewController:animated:
并将modalViewPresentationStyle
更改为UIModalPresentationPageSheet
。
答案 1 :(得分:0)
嗯,经过深入研究后,它没有看到在子视图中使用通讯录UI的方法,但它们在弹出视图中确实运行良好。但是,此弹出窗口需要精确到320x460像素或具有相同宽高比的其他数字才能使“添加照片”正常工作(否则照片会被拉伸)。在popover的视图控制器viewDidLoad方法中,我添加了:
self.picker = [[[ABNewPersonViewController alloc] init] autorelease];
self.picker.newPersonViewDelegate = self;
self.navigationController = [[[UINavigationController alloc] initWithRootViewController:self.picker] autorelease];
self.navigationController.view.frame = CGRectMake(0.0, 0.0, self.view.frame.size.width, self.view.frame.size.height);
[self.view addSubview:self.navigationController.view];
这似乎工作正常。如果你知道更好的事情,请告诉我。