我的应用程序基本上允许用户通过选择字体,颜色和文本来创建UILabel
。我使用UIPicker
返回一些字体的自定义UILabels
,因此他们可以向上和向下滚动并选择一个。
我现在要做的是允许用户编辑他们的标签,例如,双击现有标签将打开菜单弹出窗口,标签的属性(颜色,文本和字体)全部预加载。
这需要检测标签当前是什么字体,将其传递给弹出窗口编辑器,然后在UIPicker中选择该字体。
这是我的代码。这基本上遍历选取器的每一行并打印字体名称。如果fontName字符串与self.fontName匹配,我们有匹配,因此我们可以告诉选择器选择它。
int numberOfRows = [textCreator.picker numberOfRowsInComponent:0];
for (int i = 0; i < numberOfRows; i++)
{
UILabel *labelView = [textCreator.picker viewForRow:i forComponent:0];
NSLog(@"label in picker fontname is %@", labelView.font.fontName);
if([labelView.font.fontName isEqualToString:self.font.fontName])
{
[textCreator.picker selectRow:i inComponent:0 animated:YES];
}
else
{
NSLog(@"not a match!");
}
}
问题是,有两种字体将(null)
作为labelview.font.fontName
返回。
为什么我的标签会返回null fontName?感谢