【问题标题】:why drawRect method is not being called?为什么不调用drawRect方法?
【发布时间】:2010-05-11 14:15:36
【问题描述】:
#import <UIKit/UIKit.h>

@interface quartzViewController : UIViewController {
 IBOutlet UIView *myView;

}

@end


#import "quartzViewController.h"

@implementation quartzViewController


   -(void)drawRect:(CGRect)rect
   {   

 CGContextRef  context = UIGraphicsGetCurrentContext();
 CGContextSelectFont(context, "Arial", 24, kCGEncodingFontSpecific);
 CGContextSetTextPosition(context,80,80);
 CGContextShowText(context, "hello", 6);
 //not even this works
 CGContextShowTextAtPoint(context, 1,1, "hello", 6);
   }

   - (void)viewDidLoad {
 [myView setNeedsDisplay];

 [super viewDidLoad];
   }

我需要对笔尖进行任何更改吗?

谢谢

【问题讨论】:

    标签: iphone drawrect


    【解决方案1】:

    你已经继承了 UIViewController 的子类,它没有要覆盖的 drawRect。 drawRect 是 UIView 的一个方法。

    【讨论】:

    • 是的thanx的回复,我得到了答案,你是对的,我采用了一个从 UIVIEW 继承的新类,我发现了 drawRect 方法,它没有被调用...
    • 如果你得到了答案,那么你应该选择它们作为接受。您可以阅读常见问题解答。
    【解决方案2】:

    drawRect: 是UIView 方法,而不是UIViewController 方法。

    【讨论】:

      【解决方案3】:

      我得到了答案,我采用了一个从 UIVIEW 继承的新类,我发现了 drawRect 方法,它没有被调用..

      错误是,我在 UIVIEWCONTRLLER CLASSS 中声明该方法,而不是我必须这样做 在继承自 UIView 的新类中。

      【讨论】:

      • 仅供参考 - Stack Overflow 的工作方式与大多数论坛略有不同。这里的约定是用复选标记标记“正确”答案,而不是创建新的“答案”。这样,未来的用户可以快速看到对原始海报有用的内容......并且贡献者可以通过帮助获得“声誉”积分。你应该得到一些分数来选择答案并有效地“结束”这个话题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-01
      • 2018-03-26
      • 2011-07-19
      • 1970-01-01
      相关资源
      最近更新 更多