子视图中的ABNewPersonViewController

时间:2011-04-08 14:22:19

标签: ios ipad addressbook

我正在编写一个iPad应用程序,要求用户输入名称和地址,并希望使用ABNewPersonViewController作为界面。文档说这个视图控制器只能在导航控制器中使用。无论如何我只能在子视图(带导航控制器)中使用ABNewPersonViewController而不占用我的整个屏幕?我假设我可以在弹出窗口中轻松完成此操作,但我更愿意将其集成到我的界面中...感谢您提供的任何帮助!

2 个答案:

答案 0 :(得分:0)

考虑按UINavigationViewController展示您的presentModalViewController:animated:并将modalViewPresentationStyle更改为UIModalPresentationPageSheet

参见参考:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html

答案 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];

这似乎工作正常。如果你知道更好的事情,请告诉我。