问题在iOS中的CATextLayer中显示西班牙语字母Ñ

时间:2012-04-30 11:30:33

标签: ios catextlayer

我正在尝试显示带有西班牙语字母的单词Ñ但字母只显示没有变音符号作为大写字母N.但是,小写字母ñ正在正确显示。知道如何在iOS中用默认字体显示CATextLayer中的字母吗?

我已经给出了以下示例代码。

 CATextLayer *tempLayerForTextWith = [CATextLayer layer];
    tempLayerForTextWith.frame = CGRectMake(10, 10, 100, 100);
    //tempLayerForTextWith.font = [[UIFont boldSystemFontOfSize:actualFontSize] fontName];
    //tempLayerForTextWith.fontSize = actualFontSize;
    tempLayerForTextWith.string = @"ñÑ";
    tempLayerForTextWith.backgroundColor = [[UIColor lightGrayColor] CGColor];
    wordLayer.foregroundColor = textColor;
    [contentView.layer addSublayer:tempLayerForTextWith];

我对德语字母Ä,Ö,Ü也有同样的问题。如果您知道,请建议如何解决。

Brad问题后更新。

我发现只有第一行有这个问题。如果我将文本设置为长文本以便使用下面的代码进行包装,那么我发现第二行以后的变音符号被正确绘制。在CATextLayer中是否有一种方法可以指定文本的基线,因为似乎iOS设置的基线使得文本的头部被切断。

tempLayerForTextWith.string = @“ÑñÑÄÖÜÑñÑÄÖÜÑñÑÄÖÜÑñÑÄÖÜÑñÑÄÖÜ”; tempLayerForTextWith.wrapped = YES;

1 个答案:

答案 0 :(得分:1)

它是iOS中的一个错误。它已被记录,Apple接受了。你可以添加一个新行字符来引入一个新行,它将在第二行正确显示变音符号,或者你可以在CALAyer或其他选项中使用drawLayer来绘制自己。