iOS7中的工具栏项字体大小

时间:2013-10-11 15:03:39

标签: ios7 uibarbuttonitem toolbar

我正在为iOS7转换一些应用程序,并且工具栏中的按钮中的文本存在问题。 看起来字体大小更大,无法调整大小。所以我的文字按钮在iOS6中非常适合不再可能。屏幕不够宽。是否可以在不重做整个应用程序的情况下进行调整?为什么这个愚蠢的改变?我真的想要将应用程序调整到iOS7,原因还有其他几个原因。

2 个答案:

答案 0 :(得分:22)

您可以使用setTitleTextAttributes:forState:设置UIBarItems(包括UIBarButtonItems)的标题文本属性。例如,要为所有UIBarButtonItem设置标题文本字体,可以执行以下操作:

[[UIBarButtonItem appearance] setTitleTextAttributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:9.0]} forState:UIControlStateNormal];

或者,只设置一个,

[myBarButton setTitleTextAttributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:9.0]} forState:UIControlStateNormal];

您还可以创建包含UIButtons的UIBarButtonItems,并完全控制这些UIButton的显示方式(字体,字体大小等)。这可以通过将UIButton拖到UIToolbar或代码中在Interface Builder中完成:

UIButton* button = ...;
UIBarButtonItem* barButton = [[UIBarButtonItem alloc] initWithCustomView:button];
[toolbar setItems:@[barButton, ...] animated:YES];

请注意,如果采用这种方法,您的IBActions / segues将需要连接到UIButton而不是UIBarButtonItem。

答案 1 :(得分: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)

    }