Questions tagged «uinavigationbar»

UINavigationBar类实现了用于在iOS中导航分层内容的控件。它是一个栏,通常显示在屏幕顶部,包含用于在层次结构中上下导航的按钮。主要属性是一个左(后)按钮,一个中心标题和一个可选的右按钮。您可以为每个视图指定自定义视图。使用导航栏的最常见方法是与UINavigationController对象结合使用

18
iOS 8中的NavigationBar栏,色彩和标题文字颜色
状态栏中的背景文本仍为黑色。如何将颜色更改为白色? // io8, swift, Xcode 6.0.1 override func viewDidLoad() { super.viewDidLoad() self.navigationController?.navigationBar.barTintColor = UIColor.blackColor() self.navigationController?.navigationBar.titleTextAttributes = [NSForegroundColorAttributeName: UIColor.orangeColor()] }

16
为iOS 7半透明UINavigationBar实现明亮生动的色彩
iOS 7.1更新:在此更新中,似乎已忽略了用于修改UINavigationBar中的Alpha通道的解决方法。目前,最好的解决方案似乎是“处理”,并希望您选择的任何颜色都能呈现半透明的效果。我仍在研究解决此问题的方法。 iOS 7.0.3更新:使用iOS 7.0.3时,我们创建的GitHub库已更新为可以稍微解决此问题。不幸的是,没有一种魔术公式可以支持在iOS 7.0.2和更低版本以及iOS 7.0.3中创建的两种颜色。好像苹果公司提高了饱和度,但是却以不透明度为代价(因为模糊的半透明性取决于不透明度)。我和其他一些人正在努力为此创建更好的解决方案。 我敢肯定,很多人已经遇到了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]; …

11
导航栏显示/隐藏
我有一个带有2个按钮的导航栏的应用程序。当用户双击屏幕时,我想隐藏并显示此导航栏。 最初,导航栏应被隐藏。当用户双击屏幕时,导航栏应该带有动画,就像在iPhone的相册中可以看到的那样。 我该怎么做?建议总是很感激。

13
Xcode 8 Swift 3中,“导航栏”的警告框在运行时将有所不同
在升级到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此警告时,都会再次出现。另外,如果我单击黄色三角形,然后单击更新框架,则不会发生任何事情。


13
以编程方式获取导航栏的高度
我知道更多视图控制器(导航栏)的存在将UIView按其高度向下推。我也知道这个高度= 44px。我还发现,这种下推保持了[self.view].frame.origin.y = 0。 因此,除了将其设置为常数之外,如何确定此导航栏的高度? 或者,较短的版本,如何确定我的UIView显示在导航栏的顶部? 灯泡开始点亮。不幸的是,如下所述,我还没有发现纠正问题的统一方法。 我相信我的整个问题都围绕着我的自动调整大小掩码。我得出的结论是,无论是否使用UIWebView,都存在相同的症状。症状是,对于Portrait来说,一切都是桃红色的。对于Landscape,最底部的UIButton在TabBar后面弹出。 例如,在一个UIView上,我从上到下都有: UIView –既设置了弹簧(默认情况),也没有支柱 UIScrollView-如果我设置了两个弹簧,并清除了所有其他内容(如UIView),则UIButton会侵入其上方的对象。如果我清除了所有内容,则UIButton可以,但是最顶部的内容隐藏在StatusBar的后面。仅设置顶部的支柱,UIButton向下弹出在Tab栏的后面。 UILabel和UIImage垂直向下–顶部支撑杆设置,其他位置均可灵活使用 只是为了完成一些具有UIWebView的图片: UIWebView-支撑杆:顶部,左侧,右侧弹簧:两者 UIButton –没有设置,即到处都灵活 尽管我的灯泡昏暗,但似乎仍然充满希望。 请多多包涵,因为我需要的空间比简短回复的评论要多。 感谢您尝试了解我真正在钓鱼的目的... 1)每个UIViewController(一个TabBar应用)都有一个UIImage,一些文本以及其他内容。另一个共同点是底部的UIButton。在某些UIViewController上,我在UIButton上方有一个UIWebView。 因此,UIImage,文本等。UIWebView(在某些情况下)UIButton 以上所有内容都是一个UIScrollView。 2)对于具有UIWebView的用户,其autoresizingMask如下所示: — | — ^ | | | — | ←----→| — || | | V UIButton的遮罩没有设置,即到处都是灵活的 在我的-viewDidLoad中,我调用我的-repositionSubViews,在其中执行以下操作: 如果没有UIWebView,则除了将放置在IB中的UIButton居中之外,我什么也不做。 如果确实有UIWebView,则确定其* content * Height并设置其框架以包围整个内容。 UIScrollView *scrollViewInsideWebView = [[webView_ …

25
如何快速删除NavigationBar的边框?
我一直在尝试删除NavigationBars边框而没有运气。经过研究,人们似乎告诉我们将shadowImage和BackgroundImage设置为nil,但这在我的情况下不起作用。 我的密码 self.navigationController?.navigationBar.barTintColor = UIColor(rgba: "#4a5866") self.navigationController?.navigationBar.setBackgroundImage(UIImage(named: ""), forBarMetrics: UIBarMetrics.Default) self.navigationController?.navigationBar.shadowImage = UIImage(named: "") 插图:

19
模仿Facebook隐藏/显示扩展/收缩导航栏
在新的iOS7 Facebook iPhone应用程序中,当用户向上滚动时navigationBar,它会逐渐隐藏起来,使其完全消失。然后,当用户向下滚动时,navigationBar逐渐显示自己。 您将如何自己实施此行为?我知道以下解决方案,但是它立即消失,并且与用户的滚动手势速度完全无关。 [navigationController setNavigationBarHidden: YES animated:YES]; 我希望这不是重复的,因为我不确定如何最好地描述“扩展/收缩”行为。


8
iOS7:UINavigationController中的UIScrollView偏移量
我目前正在ios 7上迁移我的应用程序,并且在新的Navigationcontroller / bar管理上已经停留了几个小时。 以前,当我们有一个导航控制器时,我们有一个如下代码段: UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:[[MainViewController alloc]init]]; 在界面生成器中,我们可以选择为视图设置现有的导航栏,并且所有内容都与真实视图的内容匹配。 好的,现在,我不知道如何使用界面生成器进行正确的设计。我仍然有片段来初始化我的navcontroller。但是在MainViewController的界面构建器中,如果将状态栏设置为半透明或不透明的导航栏,则顶部的偏移为44px(请参见下文)。 界面生成器_________________________和结果 现在,如果我将状态栏设置为none,则顶部没有偏移,但是由于导航栏,模拟器上的视图较小,因此界面生成器中视图的底部被切除。 界面生成器_________________________和结果 我想我确实在这里遗漏了一些东西,但是我无法在iOS7 Transitions Guide中找到有关此主题的任何信息。 谢谢你的帮助 编辑 正如我们在图片中看到的,视图的第一个孩子是同时包含两个标签的UIScrollView,当没有scrollview时不会出现此问题。如果它是UITableView,也会出现。如果标签在UIScrollView外部,则该标签没有偏移。

14
透明导航栏iOS
我正在创建一个应用程序,并且已经在Internet上浏览了,我想知道他们如何制作这种透明的NavigationBar,如下所示: 我在appdelegate中添加了以下内容: UINavigationBar.appearance().translucent = true 但这只会使它看起来像以下内容: 我如何使NavigationBar像第一个图像一样透明


10
如何防止UINavigationBar覆盖iOS 7中的视图顶部?
更新到Xcode 5之后,我所有应用程序视图中的导航栏都向下移动。这是一些屏幕截图,第一个显示了下拉视图时的所有内容,第二个显示了所有未触及的内容。搜索栏应从导航栏开始。 有人知道我该如何解决吗? 编辑:我尝试过此以前的建议: if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) self.edgesForExtendedLayout = UIRectEdgeNone; 但是它产生非常奇怪的结果。 这可能是因为由于导航栏的透明性,我在此视图控制器下显示了一个“幻灯片菜单”。


12
以编程方式在UINavigationController中设置UINavigationBar的自定义子类
有谁知道UINavigationBar如果我以UINavigationController编程方式实例化(没有IB)如何使用我的自定义子类? UINavigationController在IB中拖动一个,在导航栏下显示一个,然后使用Identity Inspectory我可以更改类类型并设置自己的子类,UINavigationBar但是通过编程我无法设置,navigationBarNavigation Controller的属性为只读... 如何以编程方式自定义导航栏?IB比“代码”更“强大”吗?我相信在IB中可以做的所有事情都可以通过编程来完成。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.