cocoa-touch - 带核心图形的Objective C Cocoa Touch 绘图

  显示原文与译文双语对照的内容
60 2

所以我想做一些看起来很简单但是证明它的他明智的东西,我想在触摸的点上画一个方块。 虽然我似乎不能让它工作。 在touchesBegan中,我调用一个名为drawSquare的定制方法,它发送了一个 CGRect 。 我知道我必须做一些简单的错误,但是我对在 xcode/cocoa-touch中绘制原语不太了解。 任何帮助都将非常有用。 这是我的代码:


- (void)drawSquare:(CGRect)rect{


//Get the CGContext from this view


 CGContextRef context = UIGraphicsGetCurrentContext();


//Draw a rectangle


 CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);


//Define a rectangle


 CGContextAddRect(context, rect);


//Draw it


 CGContextFillPath(context); 


}



-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event


{ 


 for (UITouch *touch in touches) {



//gets the coordinats of the touch with respect to the specified view. 


 CGPoint touchPoint = [touch locationInView:self];


 CGRect rect = CGRectMake(touchPoint.x, touchPoint.y, 50, 50);


 [self drawSquare:rect]; 


 } 


}



时间: 原作者:

130 5

不要在事件方法中尝试绘制图形。 更新你想要绘制的内容列表,然后发送 -setNeedsDisplay.

...