0

を使わずに画面のどこかに「文字」を描きたいUILabelので、

[@"text" drawAtPoint:CGPointMake(100, 200) 
     withFont:[UIFont fontWithName:@"Arial" size:10.0]];

ただし、次のような説明がありますが、何も表示されませんdrawAtPoint

指定されたフォントを使用して、現在のグラフィックス コンテキストの指定された位置に文字列を 1 行で描画します。

私の間違いはUIViewController's viewDidLoad、ビューに配置するのではなく、メソッドで呼び出していることだと思いますか? (しかし、どのように?)

繰り返しますが、この方法を使用して UILabel の使用を回避すると、画面上のカスタムの場所にテキストを配置するにはどうすればよいでしょうか?

4

1 に答える 1

2

ビューに文字列を描画する場合は、ビューをサブクラス化し、drawRect メソッドを実装する必要があります。

- (void)drawRect:(CGRect)rect
{
    // Drawing code
    [[UIColor whiteColor] set];
    [@"Your string" drawInRect:CGRectMake(0, 0, 100, 100) withFont:[UIFont systemFontOfSize:16]];
}

ビューに配置していませんか?(しかし、どのように?)

drawRect で呼び出すときに有効な現在のコンテキストで文字列が描画されるため、viewDidLoad から [@"Your string" drawInRec... を呼び出すと、有効なコンテキストがないため機能しません。

繰り返しますが、この方法を使用して UILabel の使用を回避すると、画面上のカスタムの場所にテキストを配置するにはどうすればよいでしょうか?

NSStringfro drawing と notを使用UILabelすると、使用できますdrawInRect:withFont

于 2012-06-16T15:52:34.007 に答える