我必须在Pickerview中显示字体列表。当我在选择器视图委托方法中设置字体数组时,其中一个名为“ Bodoni Ornaments ”的字体在选择器视图标签中被扭曲,其余所有字体都显示正常。
请看图片:
我通过以下代码获取字体列表:
#pragma mark- Font Array return methods
-(NSArray*)fontFamilyArrayReturnMethod
{
NSLog (@"Font families: %@", [UIFont familyNames]);
return [UIFont familyNames];
}
Picker View Delegate方法代码:
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(5, 0, pickerView.frame.size.width-7, 44)];
label.backgroundColor = [UIColor clearColor];
label.textColor = [UIColor blackColor];
label.textAlignment = NSTextAlignmentCenter;
label.font = [UIFont fontWithName:[arrayContainFontFamily objectAtIndex:row] size:18];
label.text = [NSString stringWithFormat:@"%@", [arrayContainFontFamily objectAtIndex:row]];
return label;
}
为什么此字体不会作为选择器视图标签中的文本。我需要字体名称文字而不是设计字符。 任何帮助表示赞赏。
答案 0 :(得分:1)
快速谷歌搜索“Bodoni Ornaments”,这实际上是字体的样子,所以行为实际上是正确的。
- EDIT-- 现在,您有以下一行:
label.font = [UIFont fontWithName:[arrayContainFontFamily objectAtIndex:row] size:18];
这样就可以使用字体本身编写字体名称。如果您希望“Bodoni Ornaments”显示为文本,则必须删除此行。但是,您将无法再预览每种字体。