3

私はObjective-CでPDFファイルを作成していますが、すべてうまくいきます。しかし、PDFにいくつかのカレニー記号を追加すると、まったく異なるものが表示されます。

、€2,060,0の代わりに2,060,0

次のコードを使用してPDFにテキストを描画しました。

NSString *reducedString = @"€4,854,525";
CGContextShowTextAtPoint (currentContext,xPos, yPos, [textToDraw UTF8String], [reducedString length]);

この同じコードを使用してユーロ記号を描画する方法を知っている人はいますか?テキストエンコーディングで変更する必要があるものはありますか?

[reducedString drawAtPoint:CGPointMake(xPos  ,yPos) withFont:[UIFont systemFontOfSize:15];

前もって感謝します。

4

3 に答える 3

5

ユーロ記号のユニコードを使用してみてください

\u20AC
于 2012-11-23T06:15:06.463 に答える
1

正しい方法は、NSNumberFormatter を使用する必要があることです。

NSInteger currency = 4345;
NSNumberFormatter *numberFormatter = [[[NSNumberFormatter alloc] init] autorelease];
[numberFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
NSString *result = [numberFormatter stringFromNumber:[NSNumber numberWithInteger:currency]];

結果は、ロケールに応じて通貨記号付きの文字列になります。

于 2012-11-23T08:44:34.063 に答える
0

これを試して

//for the document Header
NSString *textToDraw = @"Your text";
UIFont *font = [UIFont boldSystemFontOfSize:18.0];
CGSize stringSize = [textToDraw sizeWithFont:font constrainedToSize:CGSizeMake(pageSize.width - 2*kBorderInset, pageSize.height - 2*kBorderInset - 2*kMarginInset) lineBreakMode:UILineBreakModeWordWrap];
//for title
fYheight=fYheight+25;
CGRect renderingRect = CGRectMake(kBorderInset, fYheight, pageSize.width - 2*kBorderInset, stringSize.height);
[textToDraw drawInRect:renderingRect withFont:font lineBreakMode:UILineBreakModeWordWrap alignment:UITextAlignmentCenter];

テキストを textToDraw 文字列に追加します。定数 char に変換する必要はありません。

于 2012-11-23T06:50:18.080 に答える