默认情况下,iOS导航栏标题颜色似乎是白色.有没有办法将其改为不同的颜色?
我知道navigationItem.titleView使用图像的方法.由于我的设计技巧有限,而且我没有获得标准光面,我更喜欢更改文字颜色.
任何见解都会非常感激.
使用navigationItem.titleView在iOS11上查看行为,其中titleView的宽度不是屏幕的整个宽度.
我有一个自定义视图,我将其设置为titleView.在iOS11之前,视图将填充导航栏区域.但iOS 11并没有调整大小来填充屏幕的宽度.
我在设置titleView之前尝试设置视图的框架,但没有运气.我试图强制titleViews superview布局约束,但没有运气.
附上截图:
iOS10:
iOS11:
还有其他人经历过吗?
uinavigationbar uinavigationcontroller navigationitem ios ios11
我正在尝试使用自定义图像自定义backBarButtonItem(文本"back"包含在该图像中),这是当前结果:
有谁知道为什么会发生这种情况?
这是我在viewDidLoad上的代码(实际上在父控制器上运行,然后在具有后退按钮的新控制器上运行)
UIImage *backButtonImage = [UIImage imageNamed:@"Graphics/Shared/navigation_back_button.png"];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc]
initWithImage:backButtonImage
style:UIBarButtonItemStylePlain
target:nil
action:nil];
self.navigationItem.backBarButtonItem = backButton;
Run Code Online (Sandbox Code Playgroud)
编辑:我顺便使用iOS 5!也许外观代理是可用的,但到目前为止,当我尝试将它用于后退按钮时(在appDelegate中)应用程序简单崩溃.
user-interface customization navigationitem ios backbarbuttonitem
有几个类似的问题没有得到答案,但含糊地描述.我已将问题缩减为非常薄的应用程序,并添加了详细的屏幕截图.我非常感谢这个解决方案!
唯一涉及的代码是添加到根VC的viewDidLoad的一行.这一行的目的是使导航控制器不透明:
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationController.navigationBar.translucent = NO;
}
Run Code Online (Sandbox Code Playgroud)
此问题的关键信息是"Title1" 在其导航项中有提示,而"Title2"没有提示.
我有一个带有一个导航控制器的故事板,一个名为"Title1"的根VC,带有一个segue按钮,它带到第二个名为"Title2"的VC

按下此处按钮时:

我得到这个奇怪的屏幕:

当按下(Title1)时,它变得更糟(即:Title1的原始标签被推高,现在不再被看见!!!):

有人请?
UIBarButtonItem为它创建了添加的Power Image.
barBtnPower = new UIBarButtonItem (UIImage.FromBundle ("Images/Power@2x.png")
, UIBarButtonItemStyle.Plain
, (sender, args) => {
});
Run Code Online (Sandbox Code Playgroud)
按钮添加到右侧的导航项目.
this.NavigationItem.SetRightBarButtonItem (barBtn_Logout, true);
Run Code Online (Sandbox Code Playgroud)
问题是Power@2x.png是绿色.但运行应用程序后,它显示为蓝色.
任何人都可以在这里建议我做错了什么.
我在下面的代码中更改了下一个屏幕上的后退按钮图像。
我的应用程序中有 30 个屏幕,我希望所有 30 个屏幕上的后退按钮都相同。是否有可能我不在所有 30 个屏幕上复制粘贴此代码而只编写一次,而是在 30 个屏幕上重复使用它。
此外,当我重新使用它时,带有后退按钮的代码应该可以在所有屏幕上正常工作
我正在使用 iOS 8 和 Xcode 6。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let backButtonImage: UIImage = UIImage(named: "back")!
var backBarItem: UIBarButtonItem = UIBarButtonItem(image: backButtonImage, style: UIBarButtonItemStyle.Plain, target: self, action: Selector("method"))
segue.destinationViewController.navigationItem.leftBarButtonItem = backBarItem;
}
func method() {
self.navigationController?.popViewControllerAnimated(true)
}
Run Code Online (Sandbox Code Playgroud)