一些UILabel为fontName返回null

时间:2012-04-03 07:42:14

标签: ios cocoa-touch uikit uilabel

我的应用程序基本上允许用户通过选择字体,颜色和文本来创建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?感谢

0 个答案:

没有答案