我想显示从UITabBarController iPhone通讯录中的联系人。我来到迄今:iPhone:ABPeoplePickerNavigationController将无法正确显示在UITabBarController
- (void)contacts
{
ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
// place the delegate of the picker to the controller
picker.peoplePickerDelegate = self;
CGRect newFrame = self.tabBarController.view.frame;
newFrame.size.height = newFrame.size.height - 49;
picker.view.frame = newFrame;
[picker setAccessibilityViewIsModal:YES];
// showing the picker
[self.tabBarController presentModalViewController:picker animated:NO];
}
呼叫:
-(void)viewWillAppear:(BOOL)animated
{
[self contacts];
}
至于结果我得到这个:
- 我不能看的标签
- 我的标签样式是黑色的,但选择器是蓝色的。
- 有取消按钮。
如何使选项卡可见,使样式变黑并摆脱取消按钮?
预先感谢您。
编辑:
改变方法后:
-(void)contacts
{
ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
picker.navigationBar.tintColor=[UIColor blackColor];
// Display only a person's phone, email, and birthdate
NSArray *displayedItems = [NSArray arrayWithObjects:[NSNumber numberWithInt:kABPersonPhoneProperty], nil];
picker.displayedProperties = displayedItems;
// Show the picker
picker.navigationBar.hidden=YES;
CGRect newFrame = picker.view.frame;
newFrame.size.height = newFrame.size.height - 49;
picker.view.frame = newFrame;
[self.tabBarController.view addSubview:picker.view];
}
我有这样的结果:
是触点坐在里面标签,但现在有问题:
- 当我用触点触摸tableView时,联系人完全消失。
- 当我切换选项卡时,联系人视图不会消失,我可以在所有选项卡中看到它。
- UISearchbar的一半保持隐藏状态。
现在邪恶在哪里?
嗨。您是否将此视图控制器嵌入到故事板中的标签栏控制器中?你的表视图委托和数据源方法是什么样的? – geraldWilliam 2012-04-26 23:15:18
是的,我已经将这个UIViewController嵌入到故事板中的UITabBarController中。这个特殊的标签栏被链接到没有任何UITableViews的UIViewController。在我的设备上运行,我可以看到联系人。唯一的问题是没有标签,该死的取消按钮和错误的风格。 – NCFUSN 2012-04-26 23:19:12