0

ファイルからいくつかのデータを取り込みJSON、フォントを に変更したいのですcourierが、次のことをしようとすると、次のエラーが発生します: "Property 'font' not found on object NSString". これを回避する方法はありますか?

NSString *timePeriod = [diction objectForKey:@"Time Period"];  

UIFont *changeFont = [UIFont fontWithName:@"Courier" size:12];
timePeriod.font = changeFont;
4

3 に答える 3

2

フォントは、属性付き文字列の一部です。

NSMutableAttributedString timeSringWithAttr = [[NSMutableAttributedString alloc] initWithString:timeString];
[timeStringWithAttr addAttribute:NSFontAttributeName
                           value:changeFont
                           range:NSRangeFromString(timeString)];
于 2012-11-20T15:10:11.290 に答える
1

NSString は文字列を格納するだけで、フォントの知識はありません。文字列を描画するときにフォントを設定する場合は、NSString AppKit の追加機能を使用します。

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSString_AppKitAdditions/Reference/Reference.html#//apple_ref/doc/uid/20000155

基本的には、文字列を画面に描画するときにフォントを設定します。

于 2012-11-20T14:57:03.527 に答える
0

NSString クラスには font プロパティがありません。すべての String オブジェクトは文字の配列であるため、そうすべきではありません。
代わりに、UILabel または UITextView を使用し、必要に応じてテキストを使用し、フォント プロパティを設定します。

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 50)];
label.text = @"YOUR_TEXT";
label.font = [UIFont fontWithName:@"Courier" size:12.0f];

また、規則では、変数に動詞名を付けるべきではありません。これらは関数用です。
UIFont *changeFont..のように

于 2012-11-20T15:21:04.010 に答える