我正在尝试绘制一个用户在 iPad 上移动手指的矩形:
ViewController接口:
@interface ViewController : UIViewController {
NSMutableArray *paths;
}
执行:
-(void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
for (UITouch *touch in touches) {
CGPoint location = [touch locationInView:self.view];
CGRect aRectangle = CGRectMake(location.x, location.y, 40, 40);
UIBezierPath *path = [UIBezierPath bezierPathWithRect:aRectangle];
path = [UIBezierPath bezierPathWithOvalInRect:aRectangle];
[paths addObject:path];
}
}
- (void)drawRect:(CGRect)rect {
for (UIBezierPath *path in paths) {
[path fill];
}
}
但什么都不会在屏幕上绘制......我想也许我没有告诉视图刷新自己并调用drawRect
,但我尝试进入 iPad 的主屏幕并重新进入应用程序,但仍然没有显示?
(我打算使用一个点数组,但由于CGPoint
不是一个会保留的对象,所以它不能添加到可变数组中,并且它会在本地范围结束后消失。它怎么可能是一个数组积分代替?)