我想要做的是从a的"后退"按钮中删除文本UIBarButtonItem,只在导航栏上留下蓝色V形符号.请记住,我正在为iOS 7开发.我尝试了几种方法,包括但不限于:
这是我不喜欢的图像方法(图像看起来不合适):
UIBarButtonItem *barBtnItem = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"iOS7BackButton"] style:UIBarButtonItemStylePlain target:self action:@selector(goToPrevious:)];
self.navigationItem.leftBarButtonItem = barBtnItem;
Run Code Online (Sandbox Code Playgroud)
我试过的另一种方法是这个,它根本不起作用(没有显示):
UIBarButtonItem *barBtn = [[UIBarButtonItem alloc]init];
barBtn.title=@"";
self.navigationItem.leftBarButtonItem=barBtn;
Run Code Online (Sandbox Code Playgroud)
我想要实现的是像iOS 7音乐应用程序中的后退按钮,它只有一个单一的V形.
谢谢.
我试图在导航控制器的顶部栏添加刷新按钮但没有成功.
这是标题:
@interface PropertyViewController : UINavigationController {
}
Run Code Online (Sandbox Code Playgroud)
以下是我尝试添加它的方法:
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithTitle:@"Show" style:UIBarButtonItemStylePlain
target:self action:@selector(refreshPropertyList:)];
self.navigationItem.rightBarButtonItem = anotherButton;
}
return self;
}
Run Code Online (Sandbox Code Playgroud) 我希望在任何其他视图之上显示甚至导航栏,这是一种看起来像这样的"弹出"视图:
UIViewController下面的其他.UIView中间的窗口有一些信息,(如果你想知道一切,日历).为此,我创建了一个包含两个UIViews(背景和窗口)的UIViewController,我正在尝试显示它.我试过一个简单的[mySuperVC addSubview:myPopUpVC.view],但我仍然有上面的导航栏.
我试图将它作为模态呈现,但是UIViewController底层消失了,我失去了透明效果.
任何想法,我相信这很简单......
谢谢!
我正在尝试将"设置"按钮的颜色更改为白色,但无法将其更改.
我试过这两个:
navigationItem.leftBarButtonItem?.tintColor = UIColor.whiteColor()
navigationItem.backBarButtonItem?.tintColor = UIColor.whiteColor()
Run Code Online (Sandbox Code Playgroud)
但没有变化,它仍然看起来像这样:

如何将该按钮设为白色?
iOS 7.1更新:在此更新中,似乎忽略了修改UINavigationBar中Alpha通道的变通方法.现在,最好的解决方案似乎只是"处理它",并希望你选择的任何颜色都可以呈现半透明效果.我仍然在寻找解决这个问题的方法.
iOS 7.0.3更新:使用iOS 7.0.3时,我们创建的GitHub库已经更新,可以解决此问题.不幸的是,没有神奇的公式可以支持iOS 7.0.2及更早版本和iOS 7.0.3中创建的颜色.似乎Apple改善了饱和度,但是以不透明度为代价(因为模糊的半透明度取决于不透明度水平).我和其他一些人正在努力为此创建更好的解决方案.
我相信很多人已经遇到过这样的问题:iOS 7倾向于使半透明的UINavigationBar的颜色饱和.
我的目标是使用这种色调实现UINavigationBar,但是半透明:

然而,有了半透明,我得到了这个.背景视图是白色的,据我所知会使这个视图更轻一些:

有没有办法在保持半透明的同时达到原色?我注意到Facebook已经能够让他们的酒吧变成他们丰富的蓝色,如下所示:

..所以我知道必须有某种方式.背景视图在这里显然有所不同,但其大部分内容也是灰色/白色.似乎无论你放入什么样的色调,你都无法在半透明的情况下获得鲜艳的色彩.
更新了解决方案.
这是我最终提出的解决方案.我采用了aprato的解决方案,然后UINavigationBar在UINavigationController子类中包含了自定义.我创建了一个具有下面列出的实现的存储库,以及一个示例应用程序.
////////////////////////////
// CRNavigationBar.m
////////////////////////////
#import "CRNavigationBar.h"
@interface CRNavigationBar ()
@property (nonatomic, strong) CALayer *colorLayer;
@end
@implementation CRNavigationBar
static CGFloat const kDefaultColorLayerOpacity = 0.5f;
static CGFloat const kSpaceToCoverStatusBars = 20.0f;
- (void)setBarTintColor:(UIColor *)barTintColor {
[super setBarTintColor:barTintColor];
if (self.colorLayer == nil) {
self.colorLayer = [CALayer layer];
self.colorLayer.opacity = kDefaultColorLayerOpacity;
[self.layer addSublayer:self.colorLayer];
}
self.colorLayer.backgroundColor …Run Code Online (Sandbox Code Playgroud) 我有一个带标题的导航栏.当我双击文本来重命名它时,它实际上说它是一个导航项,所以可能就是这样.
我正在尝试使用代码更改文本,例如:
declare navigation bar as navagationbar here
button stuff {
navigationbar.text = "title"
}
Run Code Online (Sandbox Code Playgroud)
那显然不是我的代码,只是展示它是如何工作的.
因此,每当我按下按钮,我都希望标题发生变化.
状态栏中的背景文本仍为黑色.如何将颜色更改为白色?
// io8, swift, Xcode 6.0.1
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.navigationBar.barTintColor = UIColor.blackColor()
self.navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.orangeColor()]
}
Run Code Online (Sandbox Code Playgroud)

我有一个带有2个按钮的导航栏的应用程序.当用户双击屏幕时,我想隐藏并显示此导航栏.
最初,应隐藏导航栏.当用户双击屏幕时,导航栏应该会出现一个动画,就像iPhone的照片库中可以看到的那样.
我该怎么做呢?建议总是受到赞赏.
在我升级之前,Xcode 8我没有在这种情况下看到这个错误.我有不同的导航控制器.对于他们所有人我看到一个错误Frame for "Navigation bar" will be different at the run time. Navigation bar "Expected: width=384, Actual: width=375.实际上这些导航控制器没有Navigation bar.Navigation bar存在于子视图.无论如何,我可以通过蜱解决它,并取消勾选复选框Shows navigation bar在Attributes inspector.但不幸的是,每次重新打开Main.storyboard此警告时,都会再次出现.此外,如果我点击黄色三角形然后更新帧没有任何反应.有任何想法吗?
在新的iOS7 Facebook iPhone应用程序中,当用户向上滚动时,navigationBar逐渐隐藏自己到完全消失的程度.然后,当用户向下滚动时,navigationBar逐渐显示自己.
你会如何自己实现这种行为?我知道以下解决方案,但它立即消失,并没有与用户的滚动手势的速度挂钩.
[navigationController setNavigationBarHidden: YES animated:YES];
Run Code Online (Sandbox Code Playgroud)
我希望这不是重复,因为我不确定如何最好地描述"扩展/收缩"行为.
uinavigationbar ×10
ios ×9
swift ×4
iphone ×3
ios7 ×2
objective-c ×2
ios8 ×1
popupwindow ×1
title ×1
uikit ×1
xcode ×1
xcode8 ×1