我正在为 iOS7 转换一些应用程序,并且在工具栏中放置的按钮中的文本存在问题。看起来字体大小要大得多,无法调整大小。所以我在 iOS6 中非常适合的文本按钮不再可能了。屏幕不够宽。是否可以在不重做整个应用程序的情况下进行调整?为什么会有这种愚蠢的变化?我真的很想使这些应用程序适应 iOS7 的其他几个原因。
问问题
7079 次
2 回答
22
您可以使用setTitleTextAttributes:forState:
. 例如,要为所有 UIBarButtonItems 设置标题文本字体,您可以这样做:
[[UIBarButtonItem appearance] setTitleTextAttributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:9.0]} forState:UIControlStateNormal];
或者,仅将其设置为一个,
[myBarButton setTitleTextAttributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:9.0]} forState:UIControlStateNormal];
您还可以创建包含 UIButtons 的 UIBarButtonItems,并完全控制这些 UIButtons 的显示方式(字体、字体大小等)。这可以在 Interface Builder 中通过将 UIButton 拖到 UIToolbar 上来完成,或者在代码中完成:
UIButton* button = ...;
UIBarButtonItem* barButton = [[UIBarButtonItem alloc] initWithCustomView:button];
[toolbar setItems:@[barButton, ...] animated:YES];
请注意,如果您采用这种方法,您的 IBActions/segues 将需要连接到 UIButton 而不是 UIBarButtonItem。
于 2013-10-11T15:17:56.760 回答
0
迅速:
UIToolbar.appearance().barTintColor = TOOLBAR_BACKGROUND_COLOR
if let font = UIFont(name: "AvenirNext-DemiBold", size: 15) {
UIBarButtonItem.appearance().setTitleTextAttributes([NSFontAttributeName: font,NSForegroundColorAttributeName:TOOLBAR_TITLE_COLOR], forState: UIControlState.Normal)
}
于 2015-11-18T07:22:12.073 回答