gpt4 book ai didi

iphone - 在 NavigationBar 中为 ABPeoplePickerNavigationController 自定义标题

转载 作者:搜寻专家 更新时间:2023-10-30 19:50:13 26 4
gpt4 key购买 nike

我创建了一个 AddressBook 类型的应用程序,在其中我在 UITableView 中显示人员列表,当一个人被选中时,一个 ABUnknownPersonViewController 被推送。从这个 ABUnknownPersonViewController 用户能够(通过使用内置功能)将此人添加到“新联系人”或“现有联系人”。

这就是我的问题所在。我在整个应用程序中为 NavigationBar 标题使用自定义 UILabel。我还需要能够为“添加新联系人”/“添加到现有联系人”推送的 View 执行此操作。

我通过为 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];
}

NavigationBar 的 tintColor 的颜色变化效果很好,但我找不到访问标题的正确方法。帮助包括一个工作示例,您可以在其中更改从 ABUnknownPersonViewController 推送的 ABPeoplePickerNavigationController 中的标题。

这就是 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

最佳答案

为此,我使用自定义标签。您还可以使用此代码更改字体大小。

例子:

UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 320 / 11)];

label.font = 16.0;

label.textColor = [UIColor blackColor];

label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];

label.backgroundColor = [UIColor clearColor];

label.textAlignment = UITextAlignmentCenter;

label.text = @"Your title";

self.navigationItem.titleView = label;

[label release];

希望这对您有所帮助。

关于iphone - 在 NavigationBar 中为 ABPeoplePickerNavigationController 自定义标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4954891/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com