Я создал приложение типа AddressBook, в котором я отображаю список людей в UITableView, при выборе человека нажимается ABUnknownPersonViewController.Из этого ABUnknownPersonViewController пользователь может (используя встроенную функциональность) добавить человека в «Новый контакт» или «Существующий контакт».
Здесь моя проблема.Я использую Custom UILabel для заголовка NavigationBar во всем приложении.И я должен быть в состоянии сделать это для представлений, которые выдвигаются «Добавить новый контакт» / «Добавить в существующий контакт».
Я решил это для «Добавить новый контакт», создавкатегория для ABNewPersonViewController, но тот же подход не работает для «Добавить в существующий контакт».Я думаю, это может быть связано с тем, что это ABPersonPickerNavigationController, который выдвигается.
@implementation ABPeoplePickerNavigationController (customTitle)
-(void)viewDidLoad {
[super viewDidLoad];
self.navigationBar.tintColor = [UIColor colorWithRed:102/255.0 green:102/255.0 blue:102/255.0 alpha:1];
}
Изменение цвета для tintColor NavigationBar работает нормально, но я не могу найти правильный способ доступа к названию.Справка, включающая рабочий пример, в котором вы можете изменить заголовок в ABPeoplePickerNavigationController, который выдвигается из ABUnknownPersonViewController, будет очень ценным.
Вот так выглядит категория для ABNewPersonViewController (которая работает):*
@implementation ABNewPersonViewController (customTitle)
-(void)viewDidLoad {
[super viewDidLoad];
self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:102/255.0 green:102/255.0 blue:102/255.0 alpha:1];
}
-(void)setTitle:(NSString *)theTitle {
CGRect frame = CGRectMake(0, 0, 45, 45);
UILabel *label = [[[UILabel alloc] initWithFrame:frame] autorelease];
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont systemFontOfSize:20.0];
label.shadowColor = [UIColor colorWithWhite:255.0 alpha:1];
label.shadowOffset = CGSizeMake(1, 1);
label.textAlignment = UITextAlignmentCenter;
label.textColor = [UIColor colorWithRed:23/255.0 green:23/255.0 blue:23/255.0 alpha:1];
self.navigationItem.titleView = label;
label.text = theTitle;
[label sizeToFit];
}
@end