0

抱歉这个可笑的新手问题,但我正在构建一个有两个标签的应用程序。在第二个选项卡中,我在图像上绘制了一个矩形。

在 SecondViewCOntroller.m 我写过:

-(void)drawRect:(CGRect)rect {
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextSetRGBFillColor(ctx, 1.0, 0.0, 0.0, 1.0);
CGContextFillRect(ctx, CGRectMake(100.0, 100.0, 100.0, 100.0));
NSLog(@"rectangle drawn!");
                  }

当然,它没有被调用。我不记得了,我需要创建一个绘画功能吗?打开第二个选项卡时如何调用drawRect?

谢谢

4

2 回答 2

2

-drawRect:方法是开,UIView不是UIViewController。你需要:

  • 创建一个子类UIView
  • -drawRect:在那个类中覆盖
  • 确保您的 SecondViewController 加载包含该类视图的 nib,或直接创建该类的视图
于 2012-06-19T05:34:32.150 回答
1

首先,您创建一个 class( YourView),它是 的子类UIView。您在 viewController 中实现代码。

- (void)viewDidLoad
{
   YourView *temp = [[YourView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)];

    [self.view addSubview:temp];
}

你把你的方法(- (void)drawRect:(CGRect)rect)写在YourView.m文件中。像这样试试。我认为它会对你有所帮助。

于 2012-06-19T05:38:30.547 回答