gpt4 book ai didi

ios - 有没有办法在不使用 UINavigationController 的情况下更改 Storyboard 中 UINavigationBar 的高度?

转载 作者:IT老高 更新时间:2023-10-28 11:30:11 33 4
gpt4 key购买 nike

我想使用自定义 UINavigationBar在我的一个观点中,这不是任何 UINavigationController 的一部分-等级制度。当我拖动 UINavigationBar进入 Storyboard,它显示如下:

UINavigationBar

这个栏是 44px,如果状态栏不共享这个空间就足够了。因为 iOS7 允许我们使用整个屏幕,包括状态栏的空间,UINavigationBar应该是 64px 高,而不是 44px。

如果我将 View 连接到 UINavigationController的层次结构,则显示正确:

UINavigationController

我在某处读到如果 UINavigationBar有属性(property)barPosition:设置为 UIBarPositionTopAttached ,那么该栏将是 64 像素。然而,这是一个 readonly - 属性。

我的搜索结果只显示了我认为“解决方法”的内容。通过添加一个无用的UINavigationController在此之前UIViewController ,我可以假装有一个层次结构,它会添加UINavigationBar自动设置为 64px。

真的没有办法拥有“流氓”(没有导航 Controller 的帮助)UINavigationBar覆盖64px?如果是这样,是否有任何正当理由说明原因?

(我不是说 UINavigationBar 默认应该是 64px,但在检查器中应该有一个选项)

(我也看到人们用编程方式来解决这个问题。即使这些答案有效,我仍然必须设计考虑到这一点的 Storyboard (差距)。我想要什么要知道是否可以在 Storyboard 中设置它,或者更确切地说,为什么不允许这样做?)

最佳答案

您可以通过其他方式将属性 barPosition 设置为 UIBarPositionTopAttached!

  1. 为您的 UINavigationBar 添加一个代理。
  2. 在委托(delegate)类中实现-positionForBar::

    - (UIBarPosition)positionForBar:(id<UIBarPositioning>)bar
    {
    return UIBarPositionTopAttached;
    }

您的导航栏顶部也必须锚定到顶部布局指南。

关于ios - 有没有办法在不使用 UINavigationController 的情况下更改 Storyboard 中 UINavigationBar 的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20439167/

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