qtdialog标题栏颜色
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qtdialog标题栏颜色相关的知识,希望对你有一定的参考价值。
参考技术A 1.如果你用的是系统的标题栏,用Qt是没法修改标题栏的颜色的,必须用到对应操作系统相关的API。
2.
如果是自定义的标题栏,直接用QSS样式的background-color:red设置即可
iPhone 导航栏标题文本颜色
【中文标题】iPhone 导航栏标题文本颜色【英文标题】:iPhone Navigation Bar Title text color 【发布时间】:2010-10-10 14:36:13 【问题描述】:iOS 导航栏的标题颜色似乎默认为白色。有没有办法把它改成不同的颜色?
我知道navigationItem.titleView
使用图像的方法。由于我的设计能力有限,无法获得标准的光泽,我更喜欢更改文本颜色。
任何见解将不胜感激。
【问题讨论】:
我刚刚发布了一段代码,基于 Steven Fisher 的回答,它简化了向导航栏添加自定义颜色标题的过程。它还支持更改标题。寻找它!它不会让你失望。 Erik:我已经把你的答案写进我的笔记里了。我只是用你的代码更新我的答案,但我不想接受你的投票。聪明的解决方案,顺便说一句。 对于 IOS 13 ***.com/a/61141195/6108739 【参考方案1】:这是缺少的东西之一。最好的办法是创建自己的自定义导航栏,添加一个文本框,然后以这种方式操纵颜色。
【讨论】:
我按照你的想法 :) 我应该重写哪个方法来开始播放标题?对不起,我真的是一个 n00b :(【参考方案2】:现代方法
对于整个导航控制器的现代方式……在加载导航控制器的根视图时执行一次。
[self.navigationController.navigationBar setTitleTextAttributes:
@NSForegroundColorAttributeName:[UIColor yellowColor]];
但是,这似乎对后续视图没有影响。
经典方法
每个视图控制器的旧方法(这些常量适用于 iOS 6,但如果想要在 iOS 7 外观上按视图控制器执行此操作,您将需要相同的方法但使用不同的常量):
您需要使用UILabel
作为titleView
的navigationItem
。
标签应该:
具有清晰的背景颜色 (label.backgroundColor = [UIColor clearColor]
)。
使用粗体 20pt 系统字体 (label.font = [UIFont boldSystemFontOfSize: 20.0f]
)。
具有 50% alpha 的黑色阴影 (label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5]
)。
您还需要将文本对齐方式设置为居中(label.textAlignment = NSTextAlignmentCenter
(UITextAlignmentCenter
用于旧版 SDK)。
将标签文本颜色设置为您想要的任何自定义颜色。您确实需要一种不会导致文本混入阴影的颜色,这样会难以阅读。
我通过反复试验解决了这个问题,但我提出的价值观最终过于简单,以至于它们不是 Apple 所选择的。 :)
如果您想验证这一点,请将此代码放入 initWithNibName:bundle:
中的 PageThreeViewController.m
中的 Apple's NavBar sample。这将用黄色标签替换文本。这应该和Apple的代码产生的原件没有什么区别,除了颜色。
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self)
// this will appear as the title in the navigation bar
UILabel *label = [[[UILabel alloc] initWithFrame:CGRectZero] autorelease];
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont boldSystemFontOfSize:20.0];
label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
label.textAlignment = NSTextAlignmentCenter;
// ^-Use UITextAlignmentCenter for older SDKs.
label.textColor = [UIColor yellowColor]; // change this color
self.navigationItem.titleView = label;
label.text = NSLocalizedString(@"PageThreeTitle", @"");
[label sizeToFit];
return self;
编辑:另外,请阅读下面 Erik B 的回答。我的代码显示了效果,但他的代码提供了一种更简单的方法来将其放到现有视图控制器上。
【讨论】:
如果您使用sizeWithFont:
将标签框设置为其文本大小,它将神奇地采用标准标签的自动对齐行为。
但是如果你使用sizeToFit,你会失去自动截断。
注意:这是设置自定义标题的旧方法,我建议阅读 Erik B 的答案。
确认 sizeToFit 有效,因此更新了答案。此外,添加注释以阅读 Erik B 的答案。
label.textAlignment = UITextAlignmentCenter 自 iOS6.0 起已被弃用,请改用 NSTextAlignmentCenter【参考方案3】:
如果您尝试更改页面上的颜色,tewha 的解决方案效果很好,但我希望能够更改每个页面上的颜色。我做了一些小的修改,使其适用于UINavigationController
NavigationDelegate.h
//This will change the color of the navigation bar
#import <Foundation/Foundation.h>
@interface NavigationDelegate : NSObject<UINavigationControllerDelegate>
@end
NavigationDelegate.m
#import "NavigationDelegate.h"
@implementation NavigationDelegate
- (void)navigationController:(UINavigationController *)navigationController
willShowViewController:(UIViewController *)viewController animated:(BOOL)animated
CGRect frame = CGRectMake(0, 0, 200, 44);//TODO: Can we get the size of the text?
UILabel* label = [[[UILabel alloc] initWithFrame:frame] autorelease];
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont boldSystemFontOfSize:20.0];
label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
label.textAlignment = UITextAlignmentCenter;
label.textColor = [UIColor yellowColor];
//The two lines below are the only ones that have changed
label.text=viewController.title;
viewController.navigationItem.titleView = label;
@end
【讨论】:
【参考方案4】:这是我基于 Stevens 的解决方案
唯一真正的区别是如果根据文本长度调整位置,我会进行一些处理,似乎类似于苹果的做法
UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(([self.title length] < 10 ? UITextAlignmentCenter : UITextAlignmentLeft), 0, 480,44)];
titleLabel.backgroundColor = [UIColor clearColor];
titleLabel.font = [UIFont boldSystemFontOfSize: 20.0f];
titleLabel.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
titleLabel.textAlignment = ([self.title length] < 10 ? UITextAlignmentCenter : UITextAlignmentLeft);
titleLabel.textColor = [UIColor redColor];
titleLabel.text = self.title;
self.navigationItem.titleView = titleLabel;
[titleLabel release];
您可能需要根据您的字体大小调整 10 的值
【讨论】:
【参考方案5】:像这样使用方向支持
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,40)];
[view setBackgroundColor:[UIColor clearColor]];
[view setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight ];
UILabel *nameLabel = [[UILabel alloc] init];
[nameLabel setFrame:CGRectMake(0, 0, 320, 40)];
[nameLabel setBackgroundColor:[UIColor clearColor]];
[nameLabel setAutoresizingMask:UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin |UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin];
[nameLabel setTextColor:[UIColor whiteColor]];
[nameLabel setFont:[UIFont boldSystemFontOfSize:17]];
[nameLabel setText:titleString];
[nameLabel setTextAlignment:UITextAlignmentCenter];
[view addSubview:nameLabel];
[nameLabel release];
self.navigationItem.titleView = view;
[view release];
【讨论】:
【参考方案6】:我遇到了导航按钮将文本从中心抛出的问题(当您只有一个按钮时)。为了解决这个问题,我刚刚改变了我的帧大小:
CGRect frame = CGRectMake(0, 0, [self.title sizeWithFont:[UIFont boldSystemFontOfSize:20.0]].width, 44);
【讨论】:
【参考方案7】:你应该调用 [label sizeToFit];当其他按钮占据导航栏时,标签在标题视图中自动重新定位时,设置文本以防止奇怪的偏移后。
【讨论】:
【参考方案8】:在遇到与在导航栏中插入按钮时标签移动的相同问题(与其他问题一样)之后(在我的情况下,我有一个微调器,在加载日期时我用按钮替换),上述解决方案没有不适合我,所以这是有效的,并且始终将标签保持在同一个地方:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self)
// this will appear as the title in the navigation bar
//CGRect frame = CGRectMake(0, 0, [self.title sizeWithFont:[UIFont boldSystemFontOfSize:20.0]].width, 44);
CGRect frame = CGRectMake(0, 0, 180, 44);
UILabel *label = [[[UILabel alloc] initWithFrame:frame] autorelease];
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont boldSystemFontOfSize:20.0];
label.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
label.textAlignment = UITextAlignmentCenter;
label.textColor = [UIColor yellowColor];
self.navigationItem.titleView = label;
label.text = NSLocalizedString(@"Latest Questions", @"");
[label sizeToFit];
return self;
【讨论】:
【参考方案9】:根据 Steven Fisher 的回答,我编写了这段代码:
- (void)setTitle:(NSString *)title
[super setTitle:title];
UILabel *titleView = (UILabel *)self.navigationItem.titleView;
if (!titleView)
titleView = [[UILabel alloc] initWithFrame:CGRectZero];
titleView.backgroundColor = [UIColor clearColor];
titleView.font = [UIFont boldSystemFontOfSize:20.0];
titleView.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
titleView.textColor = [UIColor yellowColor]; // Change to desired color
self.navigationItem.titleView = titleView;
[titleView release];
titleView.text = title;
[titleView sizeToFit];
此代码的优点是,除了正确处理框架之外,如果您更改控制器的标题,自定义标题视图也将得到更新。无需手动更新。
另一个很大的优势是它使启用自定义标题颜色变得非常简单。您需要做的就是将此方法添加到控制器中。
【讨论】:
我同意这个绝对是最好的解决方案。不需要使用 sizeWithFont,我喜欢重写 setTitle 方法的想法。 @Sr.Richie 您不应该将代码放在自定义导航控制器中。您应该将它放在需要更改标题颜色的所有视图控制器中。您可能甚至不需要自定义导航控制器。 对我不起作用。我认为是因为我使用了 [UINavigationBar 外观] 方法..(因为标签 titleView 始终为零而不起作用) 如果您使用的是 iOS5 或更高版本,您应该阅读下面的减号答案。有一个单线可以正常工作并保留在预订中。 我们需要添加 self.title=@"our string";在 viewDidLoad.then 只有上面的代码有效。【参考方案10】:我自定义了navigationBar的背景图片和左键项,灰色标题不适合背景。然后我使用:
[self.navigationBar setTintColor:[UIColor darkGrayColor]];
将色调颜色更改为灰色。现在标题是白色的!这就是我想要的。
希望也能提供帮助:)
【讨论】:
很好,但这仅适用于将文本更改为白色。即使用 [UIColor whiteColor] 为 navBar 着色也会将文本颜色更改为白色。【参考方案11】:设置标题的字体大小我使用了以下条件.. 可能对任何人都有帮助
if ([currentTitle length]>24) msize = 10.0f;
else if ([currentTitle length]>16) msize = 14.0f;
else if ([currentTitle length]>12) msize = 18.0f;
【讨论】:
【参考方案12】:我知道这是一个相当老的话题,但我认为了解 iOS 5 带来了用于建立标题属性的新属性对新用户很有用。
您可以使用 UINavigationBar 的setTitleTextAttributes
来设置字体、颜色、偏移量和阴影颜色。
此外,您可以为整个应用程序中的所有UINavigationBars
设置相同的默认 UINavigationBar 标题文本属性。
比如这样:
NSDictionary *navbarTitleTextAttributes = [NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor],UITextAttributeTextColor,
[UIColor blackColor], UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(-1, 0)], UITextAttributeTextShadowOffset, nil];
[[UINavigationBar appearance] setTitleTextAttributes:navbarTitleTextAttributes];
【讨论】:
'UITextAttributeTextColor' 在 iOS 7 中已弃用。iOS 7 的键是 'NSForegroundColorAttributeName' 请注意,这将更改所有导航栏,这通常是您想要的。 请将此标记为正确答案 - 上面的 UILabel 方法在这些方法可用时是不必要的。【参考方案13】:在 iOS 5 中,您可以通过以下方式更改导航栏标题颜色:
navigationController.navigationBar.titleTextAttributes = @NSForegroundColorAttributeName: [UIColor yellowColor];
【讨论】:
@BartSimpson 我同意!对于 iOS 7,将UITextAttributeTextColor
更新为 NSForegroundColorAttributeName
。像魅力一样工作!
这行得通!我想了解的是如何?! titleTextAttributes 除了在“NSString UIKit Additions Reference”下提到的“文本属性字典的键”中提到的一组预定义键的字典。你说的那把钥匙怎么取。
...既然它正在工作,我如何获得“默认”色调?
设置 self.navigationController.navigationBar.tintColor
对我不起作用。确实如此。【参考方案14】:
建议设置 self.title,因为这是在推送子导航栏或在标签栏上显示标题时使用。
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self)
// create and customize title view
self.title = NSLocalizedString(@"My Custom Title", @"");
UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectZero];
titleLabel.text = self.title;
titleLabel.font = [UIFont boldSystemFontOfSize:16];
titleLabel.backgroundColor = [UIColor clearColor];
titleLabel.textColor = [UIColor whiteColor];
[titleLabel sizeToFit];
self.navigationItem.titleView = titleLabel;
[titleLabel release];
【讨论】:
【参考方案15】:我相信设置UINavigationBar
的颜色的正确方法是:
NSDictionary *attributes=[NSDictionary dictionaryWithObjectsAndKeys:[UIColor redColor],UITextAttributeTextColor, nil];
self.titleTextAttributes = attributes;
上面的代码是UINavigationBar
上的子类,显然没有子类也可以。
【讨论】:
正确,但仅限 iOS 5。自 iOS 5 发布以来,它已经是一个很好的解决方案。由于我们处于 iOS 5 世界,值得注意的是可以使用[UINavigationBar appearance]
并在那里设置标题文本属性(考虑到子类化 UINavigationBar
所涉及的技巧,这是一种更好的解决方案)。
@stringCode。你能在没有“self.navigationController.navigationBar.titleTextAttributes = attributes;”的情况下初始化上面的代码吗?【参考方案16】:
可以在appdelegate文件中使用这个方法,并且可以在每个视图中使用
+(UILabel *) navigationTitleLable:(NSString *)title
CGRect frame = CGRectMake(0, 0, 165, 44);
UILabel *label = [[[UILabel alloc] initWithFrame:frame] autorelease];
label.backgroundColor = [UIColor clearColor];
label.font = NAVIGATION_TITLE_LABLE_SIZE;
label.shadowColor = [UIColor whiteColor];
label.numberOfLines = 2;
label.lineBreakMode = UILineBreakModeTailTruncation;
label.textAlignment = UITextAlignmentCenter;
[label setShadowOffset:CGSizeMake(0,1)];
label.textColor = [UIColor colorWithRed:51/255.0 green:51/255.0 blue:51/255.0 alpha:1.0];
//label.text = NSLocalizedString(title, @"");
return label;
【讨论】:
【参考方案17】:从 iOS 5 开始,我们必须使用 titleTextAttribute 字典(UInavigation 控制器类参考中的预定义字典)设置导航栏的标题文本颜色和字体。
[[UINavigationBar appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor blackColor],UITextAttributeTextColor,
[UIFont fontWithName:@"ArialMT" size:16.0], UITextAttributeFont,nil]];
【讨论】:
【参考方案18】:titleTextAttributes 显示栏标题文本的属性。
@property(nonatomic, 复制) NSDictionary *titleTextAttributes 讨论 您可以使用 NSString UIKit Additions Reference 中描述的文本属性键在文本属性字典中为标题指定字体、文本颜色、文本阴影颜色和文本阴影偏移量。
可用性 在 iOS 5.0 及更高版本中可用。 宣布于 UINavigationBar.h
【讨论】:
【参考方案19】:为了使 Erik B 的出色解决方案在您应用程序的不同 UIVIewCOntrollers 中更有用,我建议为 UIViewController 添加一个类别并在其中声明他的 setTitle:title 方法。像这样,您将在所有视图控制器上更改标题颜色,而无需重复。
需要注意的一点是,您不需要 [super setTItle:tilte];在 Erik 的代码中,您需要在视图控制器中显式调用 self.title = @"my new title" 才能调用此方法
@implementation UIViewController (CustomeTitleColor)
- (void)setTitle:(NSString *)title
UILabel *titleView = (UILabel *)self.navigationItem.titleView;
if (!titleView)
titleView = [[UILabel alloc] initWithFrame:CGRectZero];
titleView.backgroundColor = [UIColor clearColor];
titleView.font = [UIFont boldSystemFontOfSize:20.0];
titleView.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
titleView.textColor = [UIColor blueColor]; // Change to desired color
self.navigationItem.titleView = titleView;
[titleView release];
titleView.text = title;
[titleView sizeToFit];
@结束
【讨论】:
【参考方案20】:上面的大部分建议现在都已弃用,供 iOS 7 使用 -
NSDictionary *textAttributes = [NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor],NSForegroundColorAttributeName,
[UIColor whiteColor],NSBackgroundColorAttributeName,nil];
self.navigationController.navigationBar.titleTextAttributes = textAttributes;
self.title = @"Title of the Page";
此外,请查看 NSAttributedString.h 以了解可以设置的各种文本属性。
【讨论】:
【参考方案21】:使用新的 iOS 7 文本属性和现代目标 c 来更新 Alex R.R. 的帖子以减少噪音:
NSShadow *titleShadow = [[NSShadow alloc] init];
titleShadow.shadowColor = [UIColor blackColor];
titleShadow.shadowOffset = CGSizeMake(-1, 0);
NSDictionary *navbarTitleTextAttributes = @NSForegroundColorAttributeName:[UIColor whiteColor],
NSShadowAttributeName:titleShadow;
[[UINavigationBar appearance] setTitleTextAttributes:navbarTitleTextAttributes];
【讨论】:
【参考方案22】:又短又甜。
[[[self navigationController] navigationBar] setTitleTextAttributes:@NSForegroundColorAttributeName: [UIColor redColor]];
【讨论】:
【参考方案23】:在 IOS 7 和 8 中,您可以将标题的颜色更改为绿色
self.navigationController.navigationBar.titleTextAttributes = [NSDictionary dictionaryWithObject:[UIColor greenColor] forKey:NSForegroundColorAttributeName];
【讨论】:
斯威夫特:self.navigationController!.navigationBar.titleTextAttributes = NSDictionary(object: UIColor.whiteColor(), forKey: NSForegroundColorAttributeName) as [NSObject : AnyObject]
@ByronCoetsee 更新到 Swift 2 后出现以下错误:无法将“[NSObject : AnyObject]”类型的值分配给“[String : AnyObject]”类型的值?
在 swift 2.0 中容易很多 self.navigationController!.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
【参考方案24】:
在任何视图控制器 viewDidLoad 或 viewWillAppear 方法中使用以下代码。
- (void)viewDidLoad
[super viewDidLoad];
//I am using UIColor yellowColor for an example but you can use whatever color you like
self.navigationController.navigationBar.titleTextAttributes = @NSForegroundColorAttributeName: [UIColor yellowColor];
//change the title here to whatever you like
self.title = @"Home";
// Do any additional setup after loading the view.
【讨论】:
【参考方案25】:self.navigationItem.title=@"Extras";
[self.navigationController.navigationBar setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys:[UIFont fontWithName:@"HelveticaNeue" size:21], NSFontAttributeName,[UIColor whiteColor],UITextAttributeTextColor,nil]];
【讨论】:
【参考方案26】:这是一个相当古老的线程,但我想为 iOS 7 及更高版本的导航栏标题的颜色、大小和垂直位置提供答案
颜色和尺寸
NSDictionary *titleAttributes =@
NSFontAttributeName :[UIFont fontWithName:@"Helvetica-Bold" size:14.0],
NSForegroundColorAttributeName : [UIColor whiteColor]
;
垂直位置
[[UINavigationBar appearance] setTitleVerticalPositionAdjustment:-10.0 forBarMetrics:UIBarMetricsDefault];
设置标题并分配属性字典
[[self navigationItem] setTitle:@"CLUBHOUSE"];
self.navigationController.navigationBar.titleTextAttributes = titleAttributes;
【讨论】:
【参考方案27】:为了使问题保持最新,我将添加 Alex R. R. 解决方案,但在 Swift 中:
self.navigationController.navigationBar.barTintColor = .blueColor()
self.navigationController.navigationBar.tintColor = .whiteColor()
self.navigationController.navigationBar.titleTextAttributes = [
NSForegroundColorAttributeName : UIColor.whiteColor()
]
哪些结果:
【讨论】:
嗯,也许它不适用于 Swift 2.0。让我仔细检查一下。不过不需要侵略。 抱歉,Michal,我以为那是个玩笑!不像是侵略性的东西!对我有用的更像是这样: self.navigationController!.navigationBar.titleTextAttributes = NSDictionary(object: UIColor.whiteColor(), forKey: NSForegroundColorAttributeName) as [NSObject : AnyObject] 添加以下行: UINavigationBar.appearance().barStyle = UIBarStyle.Black 在此行之前: UINavigationBar.appearance().tintColor = UIColor.whiteColor() 使 tintColor 工作! 在 Swift 4.0 中:self.navigationController?.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor : UIColor.white]【参考方案28】:Swift 版本
我发现你们大多数人都给出了Objective_C版本的答案
我想为任何需要它的人使用 Swift 来实现这个功能。
在 ViewDidload 中
1.使NavigationBar背景变成彩色(例如:BLUE)
self.navigationController?.navigationBar.barTintColor = UIColor.blueColor()
2.使NavigationBar背景变成Image(例如:ABC.png)
let barMetrix = UIBarMetrics(rawValue: 0)!
self.navigationController?.navigationBar
.setBackgroundImage(UIImage(named: "ABC"), forBarMetrics: barMetrix)
3.更改 NavigationBar 标题(例如:[Font:Futura,10] [Color:Red])
navigationController?.navigationBar.titleTextAttributes = [
NSForegroundColorAttributeName : UIColor.redColor(),
NSFontAttributeName : UIFont(name: "Futura", size: 10)!
]
(提示1:不要忘记UIFont后面的“!”标记)
(hint2: 标题文字有很多属性,command click “NSFontAttributeName”可以输入类并查看keyNames 以及他们需要的对象类型)
希望能帮到你!:D
【讨论】:
【参考方案29】:方法一,在IB中设置:
方法二,一行代码:
navigationController?.navigationBar.barTintColor = UIColor.blackColor()
【讨论】:
方法 2 不起作用。仅适用于titleTextAttributes
【参考方案30】:
我正在为 iOS 9 使用下面的代码,它对我来说工作正常。我还为标题使用了阴影颜色。
self.navigationItem.title = @"MY NAV TITLE";
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
self.navigationController.navigationBar.translucent = NO;
NSShadow *shadow = [[NSShadow alloc] init];
shadow.shadowColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.8];
shadow.shadowOffset = CGSizeMake(0, 1);
[self.navigationController.navigationBar setTitleTextAttributes: [NSDictionary dictionaryWithObjectsAndKeys:
[UIColor colorWithRed:245.0/255.0 green:245.0/255.0 blue:245.0/255.0 alpha:1.0], NSForegroundColorAttributeName,
shadow, NSShadowAttributeName,
[UIFont fontWithName:@"HelveticaNeue-Light" size:21.0], NSFontAttributeName, nil]];
希望对您有所帮助。
谢谢
【讨论】:
只需将navigationBar.barStyle设置为blackStyle,标题就会变成白色。以上是关于qtdialog标题栏颜色的主要内容,如果未能解决你的问题,请参考以下文章