2010-11-04 152 views
0

我需要在矩形中绘制图像,以便使用drawRect method.i观察到它没有被调用。输出我只能看到空白屏幕。使用MAC OS和i需要测试的应用程序在iPhone OS 3 +。请任何人都可以解决我的problem.Here是我的代码:drawRect没有被调用

-(IBAction)calling 
    { 
int a=0; 
a=a+1; 
[self.view setNeedsDisplay]; //InRect:CGRectMake(78, 43, 200, 138)]; 

    } 

- (void)drawRect:(CGRect)rect { 
    UIImage *myImage = [UIImage imageNamed:@"btbp.jpg"]; 

    CGRect imageRect = CGRectMake(10, 10, 300, 400); 

    [myImage drawInRect:imageRect]; 
[self.view setNeedsDisplay]; 

    [myImage release]; 
} 

我唐诺在那里我错了:(

回答

2
  1. 是您drawRect方法上一个实际的视图?或者它在视图控制器上,这是它看起来像什么?drawRect是你w对视图本身的仪式/覆盖。

  2. 您不应该在myImage对象上调用release,因为您自己并不是alloc

如果不进行100%的意义,我建议你开始与iOS的可可查看文档来了解这一切是如何结合在一起的。

+0

实际上我的应用程序是一个基于视图的应用程序。它在uiviewcontroller的一个子类中实现它。编写drawRect。是我在实际视图上绘制的。你建议了一些文件我在哪里可以找到它 – iphoneStruggler 2010-11-04 06:23:01

+1

-drawRect:方法必须是在UIView的子类上实现,而不是在你的视图控制器上。还请注意,从drawRect方法中调用setNeedsDisplay确实是一个非常糟糕的主意。 – bbum 2010-11-04 06:32:13

+0

@iphoneStruggler:我明白你想要做什么,但是你应该通过一些关于基本Cocoa应用的教程,或者抓取一本intro-to-iPhone书籍。这里有一些基本的东西可以超越Stack Overflow的范围来回答所有问题。以下是一些关于自定义视图的文档:http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewPG_iPhoneOS/WindowsandViews/WindowsandViews.html%23//apple_ref/doc/uid/TP40009503-CH2-SW13 – 2010-11-04 16:03:47