0

プロジェクトにGLTapLabelを使用していますが、ほとんどすべてが正常に機能しています。

+aまたはその他の特殊文字で始まるテキストを表示しようとすると、全体が次のようになります:スクリーンショット 1 (左: シミュレーターでの出力、右: インターフェイス ビルダーでのテキスト)。

ScreenShot 2に見られるように、通常は魅力的に機能します。

GLTapLabel.mdrawTextInRect関数内の)次の行と関係があると思います :

while ([s scanCharactersFromSet:[NSCharacterSet symbolCharacterSet] intoString:&read])

解決策はありますか?何か足りないだけですか?私はこれまでに何かをしたことがありませんNSScanner

4

1 に答える 1

1

昨夜この問題に遭遇したばかりで、それを理解するのに3時間かかりました. あなたは何がうまくいかなかったのか正しい軌道に乗っていましたが、それは範囲と関係があります. とにかく問題を忘れて、最後の while ステートメントを私の解決策に置き換えるだけで、うまくいくはずです。いくつかのコメントを追加したので、私が何をしたかを確認できます。楽しみ!

 while ([s scanCharactersFromSet:[NSCharacterSet symbolCharacterSet] intoString:&read]) { //symbolCharacterSet
        for(int idx=0;idx<read.length;idx=idx+6) //For Some Reason "6" works with + sign and Emojis... 

        {

            NSString *word=[read substringFromIndex:0];  //substringWithRange:NSMakeRange(idx, 2)]; <-- I switched out the range and decided to get the WHOLE string.
            CGSize s = [word sizeWithFont:self.font];
            if(drawPoint.x + s.width > rect.size.width) {
                drawPoint = CGPointMake(0, drawPoint.y + s.height);

            }
于 2012-10-24T12:39:56.877 に答える