我想顯示從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