사람이 ABUnknownPersonViewController가 선택되면 UITableView에 사람 목록을 표시하는 응용 프로그램의 AddressBook 종류를 만들었습니다. 이 ABUnknownPersonViewController에서 사용자는 (기본 제공 기능을 사용하여) 사람을 "새 연락처"또는 "기존 연락처"에 추가 할 수 있습니다.ABPeoplePickerNavigationController에 대한 NavigationBar의 제목 사용자 정의
여기 내 문제가있는 곳입니다. 내 응용 프로그램에서 NavigationBar 제목에 대한 사용자 지정 UILabel을 사용하고 있습니다. 그리고 나는 "Add New Contact"/ "Add to Existing Contact"에 의해 푸시 된 뷰에 대해이 작업을 수행 할 수 있어야합니다.
"ABNewPersonViewController"카테고리를 생성하여 "Add New Contact"에 대해이를 해결했지만 "기존 연락처에 추가"와 동일한 접근 방식이 작동하지 않습니다. 이것은 푸시 된 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];
}
NavigationBar의 tintColor에 대한 색상 변경은 정상적으로 작동하지만 제목에 액세스 할 수있는 적절한 방법을 찾을 수 없습니다. ABUnknownPersonViewController에서 푸시 된 ABPeoplePickerNavigationController에서 제목을 변경할 수있는 작업 예제가 포함 된 도움말은 많은 도움이 될 것입니다. 나는이 목적을 위해 사용자 정의 레이블을 사용
@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
그래, 내 텍스트를 설명하려고 할 때처럼 내 사용자 지정 UILabel을 만듭니다. "내 응용 프로그램 전체에서 NavigationBar 제목에 사용자 지정 UILabel을 사용하고 있습니다." 내 문제는 실제로 UILabel을 NavigationBar의 제목으로 설정하기 위해 범주에서 제목에 액세스 할 수 없다는 것입니다. – oehman
나는 일을 더 분명히하기 위해 내 포스트를 편집했다. :) – oehman