Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UIBarButtonItem外观代理设置字体属性在iOS 11中不起作用_Ios_Objective C_Uikit - Fatal编程技术网

UIBarButtonItem外观代理设置字体属性在iOS 11中不起作用

UIBarButtonItem外观代理设置字体属性在iOS 11中不起作用,ios,objective-c,uikit,Ios,Objective C,Uikit,似乎用于设置UIBarButtonItem字体的iOS 11外观代理机制没有完全起作用。(其行为与iOS 10中的预期一致) 我想知道这是否是一个bug,或者有一种不同的方法来实现这一点 我的代码: NSDictionary *barButtonAppearanceDict = @{NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue-Light" size:24], NSForegroundColorAttributeName:

似乎用于设置UIBarButtonItem字体的iOS 11外观代理机制没有完全起作用。(其行为与iOS 10中的预期一致)

我想知道这是否是一个bug,或者有一种不同的方法来实现这一点

我的代码:

NSDictionary *barButtonAppearanceDict = @{NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue-Light" size:24], NSForegroundColorAttributeName: [UIColor purpleColor]};
[[UIBarButtonItem appearance] setTitleTextAttributes:barButtonAppearanceDict forState:UIControlStateNormal];
基本上,代码看起来是有效的,按钮字体的样式是适当的。但是,当用户点击按钮时,按下按钮时,样式将恢复

下面是一段视频:

要重新制作,请使用主详细信息应用程序模板创建新应用程序。在中添加上面的代码段:


没有使用选项完成启动您忘记设置突出显示的
样式

[[UIBarButtonItem appearance] setTitleTextAttributes:barButtonAppearanceDict UIControlStateHighlighted];

您忘记设置突出显示的
样式

[[UIBarButtonItem appearance] setTitleTextAttributes:barButtonAppearanceDict UIControlStateHighlighted];

酷!你能提供足够的信息让我们复制/测试吗?酷!你能提供足够的信息让我们复制/测试吗?