gpt4 book ai didi

ios - UINavigationBar 标题在更改 viewControllers 时被剪裁

转载 作者:可可西里 更新时间:2023-11-01 03:59:41 28 4
gpt4 key购买 nike

当我从 iOS 应用程序的起始屏幕推送一个新的 tableViewController(我推送设置屏幕)时,UINavigationController 中的标题会被剪裁,直到动画结束:

enter image description here

那是动画中间的 NavigationBar,就在动画结束之前,它看起来像这样:

enter image description here

片刻之后,标题正确更改为“设置”。这没什么大不了的,但是你可以想象这对一个有轻微强制症倾向的程序员有多大的困扰! :)

这是我在 tableViewController 中设置标题的代码,没什么特别的:

- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
self.title = @"Settings";
// Hide tabBar when pushed so you cannot switch from the Settings
self.hidesBottomBarWhenPushed = YES;
self.tableView.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed:@"bg.png"]];
}
return self;
}

最佳答案

我的回答有点晚了,但我在 iOS 5 上找到了这个问题。当您在 UINavigationBar 上使用 UIAppearance 代理时,您似乎需要明确设置字体大小,而不是使用 0.0 让它会根据方向自动设置。

我能够通过子类化 UINavigationController 并放入以下代码来解决这个问题:

- (void)viewWillLayoutSubviews {
[super viewWillLayoutSubviews];

// You should include a conditional here to check for iOS 5, so iOS 6 doesn't have to do any additional work
self.navigationBar.titleTextAttributes = @{
UITextAttributeFont:[UIFont boldSystemFontOfSize:UIInterfaceOrientationIsPortrait(self.interfaceOrientation) || IS_IPAD ? 20.0f : 16.0f],
UITextAttributeTextColor:[UIColor whiteColor],
UITextAttributeTextShadowColor:[UIColor colorWithWhite:0.0f alpha:0.5f],
UITextAttributeTextShadowOffset:[NSValue valueWithUIOffset:UIOffsetMake(0.0f, -1.0f)]
};
}

关于ios - UINavigationBar 标题在更改 viewControllers 时被剪裁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9687696/

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