1

スペイン語のÑを含む単語を表示しようとしていますが、文字は大文字の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];

ドイツ語のÄ、Ö、Üについても同じ問題があります。ご存知の方、解決方法を教えてください。

ブラッドの質問の後に更新します。

最初の行だけがこの問題を抱えていることがわかりました。以下のコードを使用してテキストを長いテキストに設定して折り返すと、分音記号の 2 行目以降が適切に描画されることがわかります。テキストの頭が切り取られるようにiOSによって設定されたベースラインのように見えるため、CATextLayerでテキストのベースラインを指定する方法はありますか。

tempLayerForTextWith.string = @"ÑñÑÄÖÜÑñÑÄÖÜÑñÑÄÖÜÑñÑÄÖÜÑñÑÄÖÜ"; tempLayerForTextWith.wrapped = はい;

4

1 に答える 1

1

iOSのバグです。ログに記録され、Apple が承認しました。改行文字を追加して改行を導入すると、2 行目に分音記号が適切に表示されるか、CALAyer で drawLayer を使用するか、他のオプションを使用して自分で描画できます。

于 2012-05-24T21:43:31.357 に答える