2013-02-28 1 views
1

стиля бара, как BlackOpaque моих людей сборщик выглядит следующим образом: enter image description hereABPeoplePickerNavigationController навигация barStyle BlackTranslucent смещает макет

, но когда я хочу barStyle быть BlackTranslucent, это выглядит следующим образом: enter image description here

Я попытался решение от here

КОД:

- (void)showPeoplePickerController 
{ 
    ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init]; 
picker.peoplePickerDelegate = self; 

NSArray *displayedItems = [NSArray arrayWithObjects:[NSNumber numberWithInt:kABPersonPhoneProperty], 
          [NSNumber numberWithInt:kABPersonEmailProperty], 
          [NSNumber numberWithInt:kABPersonBirthdayProperty],[NSNumber numberWithInt:kABPersonAddressProperty],nil]; 

picker.displayedProperties = displayedItems; 
picker.navigationBar.barStyle = UIBarStyleBlack; 

// picker.navigationBar.translucent = YES; //uncommented for translucent bar 


[self.navigationController presentModalViewController:picker animated:YES]; 

} 

Но как мне сменить вещи с PeoplePicker?

+0

Поделитесь некоторым кодом ... как вы добавляете ABPeoplePickerNavigationController navigationbarStyle ... – Vishal

+0

@Vishal: см. Мое редактирование –

ответ

0

OK Вместо этого:

[self.navigationController presentModalViewController:picker animated:YES];

Отобразить свой ABPeoplePickerNavigationController, как показано ниже:

[self.navigationController presentViewController:picker animated:YES completion:nil]; 

И для бара цвета проверить эту строку: picker.navigationBar.tintColor=[UIColor blackColor];

+0

Я не думаю, что это решение проблемы, с которой я столкнулся. на iOS4.2, tintcolor не будет работать, и currentviewcontroller работает на iOS6, но как решить проблему, которая на полупрозрачной панели, tableview поднимается? –

0

Почему вы с помощью полупрозрачная панель навигации в первую очередь? Контроллер представления людей не предназначен для использования с полупрозрачной навигационной панелью.

Если у вас есть хороший повод, чтобы сделать это, вам нужно сделать некоторое хакерство, чтобы получить содержимое, которое будет отображаться правильно:
Вы должны изменить contentInset свойства отображаемого табличным, так что начинается содержание под панелью навигации.

НО: Невозможно получить доступ к отображаемому виду таблицы, извините.