2012-04-30 12 views
1

スペイン語の文字Ñを使用して単語を表示しようとしていますが、その文字は大文字Nの分音記号なしでのみ表示されます。どのようにアイデアのデフォルトフォントでCATextLayerで文字を表示する任意のアイデア?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 = YES;

+0

レイヤーのフレームが十分に高くなっていますか?これらの背の高いキャラクターのトップを切り刻んでいますか? –

+0

はい、幅が100、高さが100ほどのフレームが十分にあります。ダミープロジェクトにこのコードを追加することで、自分で確認できます。 – user859375

+0

こんにちはブラッド、私は最初の行だけがこの問題を抱えていることを知った。 – user859375

答えて

1

iOSのバグです。それは記録され、Appleは受け入れた。新しい行の文字を追加して新しい行を追加すると、2行目に発音記号が正しく表示されます。また、CALAyerなどのオプションでdrawLayerを使用して描画することもできます。

+0

あなたはこのバグを参照していますか? – NilsH

+0

バグはiOS 6.0以降ではなく、iOS 5.1で発生していました。 Appleはそれ以来、このバグを修正せずに、最新のバージョンには存在しなかったため、このバグをクローズしています。バグIDは11381872です – user859375

関連する問題