Попытка нарисовать в UIView - PullRequest
1 голос
/ 30 января 2012

Привет. Я пытаюсь нарисовать несколько изображений .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.Что здесь не так?

1 Ответ

4 голосов
/ 30 января 2012

Правильно, это именно то, что должно произойти (ничего), потому что viewDidLoad не то место, откуда вы рисуете в iOS.Вам нужно реализовать другой метод:

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

Этот метод вашей UIView реализации вызывается для рисования.Попытка рисовать на экране где-либо еще не даст желаемых результатов.

...