-4

我不希望在这里得到非常详细的答案,而只是指出正确的方向。

假设我想制作一个像 microsoft paint 这样的绘图程序或应用程序绘制一些东西,我该怎么做?

当我用鼠标悬停并单击时,我是否基本上在像素和附近像素(用于厚度)上设置颜色?

我打算制作一个要求用户以简单的方式绘制东西的应用程序,所以任何建议都会非常有用:)

最好的问候,亚历山大

4

2 回答 2

2

UIBezierPath是在您的 .For Drawing 上绘制线条的好选择,UIView您需要一个自定义视图您不能在 UIViewController 上绘制。

并使用触摸委托方法来绘制线条。

声明一个UIBezierPath *bezierPath;in .h 文件

 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {
        bezierPath=[[UIBezierPath alloc]init];
        bezierPath.lineWidth = 5.0;

        UITouch *mytouch=[[touches allObjects] objectAtIndex:0];
        [bezierPath moveToPoint:[mytouch locationInView:self]];
     }
    -(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
    {
        UITouch *mytouch=[[touches allObjects] objectAtIndex:0];
        [bezierPath addLineToPoint:[mytouch locationInView:self]];
        [self setNeedsDisplay];
    }

setNeedsDisplay会调用你的drawRect:方法。

- (void)drawRect:(CGRect)rect
    {
  [bezierPath stroke];
    }

您可以使用属性更改 Storke 颜色。setStroke:完整的想法通过UIBezierPath类参考。希望这对你有帮助

于 2013-05-07T11:59:50.263 回答