gpt4 book ai didi

推送或弹出新 View Controller 时,iOS 7 自定义 UINavigationBar TitleView 移动

转载 作者:IT王子 更新时间:2023-10-29 07:57:27 25 4
gpt4 key购买 nike

我使用以下代码为 UINavigationBar 使用自定义标题 View :

// Set a label to the nav bar
THLabel *titleLabel = [[THLabel alloc] init];
titleLabel.text = @"Test";
titleLabel.font = [UIFont fontWithName:APP_FONT size:22.0];
titleLabel.frame = CGRectMake(0, 0, 100, 30);
titleLabel.textAlignment = NSTextAlignmentCenter;
titleLabel.textColor = CUSTOM_LIGHT_BLUE;
titleLabel.strokeColor = kStrokeColor;
titleLabel.strokeSize = kStrokeSize;
self.navigationItem.titleView = titleLabel;

问题是当呈现一个新的 View Controller 然后返回到原始 View Controller 时,这个自定义 View 会移动然后重新居中。请观看视频以了解相关演示。

请在此处观看视频: https://www.youtube.com/watch?v=961CCVQmpJM&feature=youtu.be

我在每个 View Controller 的 Storyboard和代码中禁用了导航 Controller 的每个 subview 的自动调整大小:

    // Set the navigation bar hidded on the log in view
UINavigationController* mainViewController = (UINavigationController*)self.appDelegate.window.rootViewController;
[mainViewController setNavigationBarHidden:YES];
[[mainViewController navigationBar] setAutoresizesSubviews:NO];

但是它仍然会调整大小!我怎样才能阻止这个 - 我做错了什么?谢谢!

最佳答案

只有当我在 viewWillAppear 中放置设置 titleView 代码时,它才对我来说是可重现的。将其移至 viewDidLoad 可解决此问题

关于推送或弹出新 View Controller 时,iOS 7 自定义 UINavigationBar TitleView 移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23451040/

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