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

问题显示西班牙语字母Ñ;在iOS的CATextLayer中,ios,catextlayer,Ios,Catextlayer,我试图显示带有西班牙语字母ñ的单词,但该字母仅显示,没有带变音符号的瓦片作为大写字母N。但是,小写字母ñ正确显示。知道如何在iOS中用默认字体在CATextLayer中显示字母吗 我在下面给出了示例代码 CATextLayer *tempLayerForTextWith = [CATextLayer layer]; tempLayerForTextWith.frame = CGRectMake(10, 10, 100, 100); //tempLayerForTextWith.

我试图显示带有西班牙语字母ñ的单词,但该字母仅显示,没有带变音符号的瓦片作为大写字母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=是

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

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

您确定要将层的框架设置得足够高吗?是的,这个框架足够大,宽度为100,高度为100。您可以通过将此代码添加到任何虚拟项目来验证它。嗨,Brad,我发现只有第一行有此问题。您好。我遇到了完全相同的问题,无法找出这里出了什么问题。第一行缺少变音字符。您确定要将层的框架设置得足够高吗?是的,这个框架足够大,宽度为100,高度为100。您可以通过将此代码添加到任何虚拟项目来验证它。嗨,Brad,我发现只有第一行有此问题。您好。我遇到了完全相同的问题,无法找出这里出了什么问题。在第一行中,变音字符丢失。您是否有关于此错误的参考?此错误在iOS 6.0以后的版本中不存在,而是在iOS 5.1中。苹果已经关闭了这个漏洞,但没有修复它,因为它在最新版本中并不存在。Bug ID为11381872您是否有此Bug的引用?此Bug不存在于iOS 6.0以后的版本中,而是存在于iOS 5.1中。苹果已经关闭了这个漏洞,但没有修复它,因为它在最新版本中并不存在。错误ID是11381872