1

こんにちは私はサンドボックスに保存されているいくつかの.png画像を描画し、UIViewにテキストを出力しようとしています。私のコードは次のとおりです。

-(void)setItemDetails:(ItemShow *)itmShow
{
   if(theItem!=itmShow)
    {
      [theItem release];
       theItem=itmShow;
      [theItem retain];
    }
  UIImage *rImage=[UIImage imageNamed:@"years"];
[[UIColor blackColor] set];
[rImage drawInRect:CGRectMake(55.0, 22.0, 17.0, 17.0)];

[[UIColor brownColor] set];

[theItem.itemYear drawAtPoint:CGPointMake(7.0,19.0)
                forWidth:100
                withFont:[UIFont systemFontOfSize:17.0]
             minFontSize:17.0
          actualFontSize:NULL
           lineBreakMode:UILineBreakModeTailTruncation 
      baselineAdjustment:UIBaselineAdjustmentAlignBaselines];
}

これは、viewDidLoadでこのメソッドを呼び出した後です。何も起こりません。UIViewのキャンバスに画像やテキストが表示されません。ここで何が問題になっていますか?

4

1 に答える 1

4

viewDidLoadそうです、iOSで描画するのに適切な場所ではないため、これはまさに発生するはずのことです(何も起こりません) 。別の方法を実装する必要があります。

- (void)drawRect:(CGRect)rect {
CGContextRef myContext = UIGraphicsGetCurrentContext();
    // Do your drawing in myContext
}

実装のこのメソッドはUIView、描画を行うために呼び出されます。他の場所から画面に描画しようとしても、目的の結果が得られません。

于 2012-01-30T00:11:04.580 に答える