【发布时间】:2011-12-25 05:56:57
【问题描述】:
我的 iPhone 应用程序有一个标签栏控制器,在每个标签(4 个标签)上都有一个 UINavigationController,我希望它是不同的颜色并更改标题上的字体,所以我制作了自己的自定义导航控制器以在任何地方使用所以这些变化只在一个地方。色调很简单,效果很好,但是当我尝试使用 setTitleTextAttributes 设置字体时,它会更改字体,但在某些视图中,标题显示在最后被截断(即“我的标题...”)。如果我更改视图然后返回到带有截断标题的视图,则标题确实会正确显示。
目前我的自定义 UINavigationController 中的 viewDidLoad 有:
UIFont *font = [UIFont fontWithName:@"GillSans-Bold" size:22];
NSDictionary *attr = [[NSDictionary alloc] initWithObjectsAndKeys:font, UITextAttributeFont, nil];
[self.navigationBar setTitleTextAttributes:attr];
我的想法是它正在改变 titleView 的字体,但它没有根据新大小调整大小(因为它是一个更大的字体)。另一个问题是当手机转向横向时,任何低垂的字母(g、p、y)的底部都会被切断。有没有办法调整标签大小或允许设置 minimumFontSize 以便文本在太大时缩小?
【问题讨论】: