0

所以我在一个项目中深陷其中,我们在整个项目的多个地方都遇到了这个问题。当我们以标准、典型的方式显示 UIAlertView 时,标题不会显示在警报上,只有描述和按钮。我们像任何人一样进行初始化和显示:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Are you sure?" message:@"Deleting a ..." delegate:self cancelButtonTitle:@"Delete" otherButtonTitles:@"Cancel", nil];
[alert show];

有没有其他人遇到过这个问题?我们没有导入和依赖会改变任何东西,我们也没有做任何我们可以说会导致这种情况的事情。

编辑:这是我所看到的一个例子: 在此处输入图像描述

4

1 回答 1

2

我也遇到了同样的问题。根本原因是我在项目中使用了“UIFont+Replacement”。在 iOS 7 中,系统将使用“UIFont fontWithDescriptor:”来设置系统控件中标签的字体。

我添加了一个判断来检查字体替换是否用于UIAlertView之类的系统控件。请检查我的代码,到目前为止它运行良好:

UIFontDescriptor *replaceDescriptor = descriptor;
if (![descriptor.fontAttributes objectForKey@"NSCTFontUIUsageAttribute"] 
|| ![((NSString *)[descriptor.fontAttributes objectForKey:@"NSCTFontUIUsageAttribute"])     
isEqualToString:@"UICTFontUsageEmphasizeBody"]) 
{
NSString *replacementFontName = [replacementDictionary objectForKey:descriptor.postscriptName];
replaceDescriptor = [UIFontDescriptor fontDescriptorWithName:replacementFontName size:pointSize];
}
return [self replacement_fontWithDescriptor:replaceDescriptor size:pointSize];
于 2013-12-13T11:22:01.380 回答