gpt4 book ai didi

ios - 如何修改UINavigationBar的大小,添加背景图片和移动标题标签位置

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:43:45 25 4
gpt4 key购买 nike

我有几个即将实现的设计。这些设计有一些重叠,我想对我的项目进行通用化。该应用程序应基于导航,并且在导航栏中都有公司品牌形象,但导航栏应比原来更大,标题位于主图像下方。

Custom UINavigationBar with company brand

顶部蓝色部分是整个项目中相同的品牌形象,下面灰色部分是标题标签所在的地方,这意味着标题标签需要调整。我希望能够为我的 View Controller 使用 setTitle。后退按钮应该在蓝色部分居中,所以稍微调整到屏幕顶部,而不是在导航栏居中。

我从以下问题中得到了一些启发,类别将是一个不错的方法,或者我在这里错了吗?你有什么建议吗?

Objective-C: Background image and title in Navigation Bar

UINavigationBar custom title position

Changing the UINavigationBar background image

最佳答案

您可以在 viewDidLoad 方法中这样做

UIView *navbar = self.navigationBar;
navbar.translatesAutoresizingMaskIntoConstraints = NO;
[navbar addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"V:[navbar(80)]" // custom height
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(navbar)]];

[navbar addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"[navbar(320)]"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(navbar)]];

self.widthConstraint = navbar.constraints[1]; // width is the 2nd constraint

要调整后退按钮,请使用自定义后退按钮图像并根据需要在图像中放置一个图标。使用 [UINavigationBar appearance] 设置自定义后退按钮。

[[UINavigationBar appearance] setBackIndicatorImage:[UIImage imageNamed:@"IconBack"]];
[[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[UIImage new]];

要调整标题,请使用 UINavigationBar 和 UIBarButtonItem 外观的相应方法。

[[UINavigationBar appearance] setTitleVerticalPositionAdjustment:10 forBarMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -10) forBarMetrics:UIBarMetricsDefault];

关于ios - 如何修改UINavigationBar的大小,添加背景图片和移动标题标签位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22245231/

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