初始化的时候有的并不需要指定范围,直接给一个init就行了,但是有的比如说视图,是要看见的东西,就必须给一个指定的范围,不然默认的是0size,是看不见的。
如今的object-C已经不支持自己释放内存了,[view release],这个语句,已经没用了。
我看的这本书上,用类型NSMutableArray定义了一个存储点坐标的数组,这个类型是什么,目前自己并不清楚,有时间可以回头来看看。这个数组的初始化[[NSMutableArray alloc] initWithCapacity:3],这个3很是误导人,让人以为是只有三个空间或者是不能超过三个,而实际上,他只是说明先申请三个空间先用着,如果超了也没有问题的。
drawRect函数一开始进去,先要获取绘图上下文,基本上每个方法里面都是要用的。CGContextRef context =UIGraphicsGetCurrentContext();其中context就是获取到的上下文。
CGContextSetRGBStrokeColor(上下文,三原色,透明度);这个设置了颜色以及透明,我看的书是画线前先设置的这个。
CGPoint addLines[] ={点a,点b,点c,。。。。} 这个方法就是将花括号里的点按顺序连起来,我觉得也就只能连三角形了,三条边以上就可能会交叉,闭合图的话,第一个点和最后一个点应该是一致的。
CGContextADDLines(上下文,,) 这个函数是什么作用我不知道
CGContextStrokePath(上下文)不懂
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *) event 手指开始触碰时调用这个函数
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *) event 手指按住并移动时,调用这个函数
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *) event 手指离开屏幕时,调用这个函数
UITouch *touch=[touches anyObject]; CGPoint point=[touch locationInView:self]; [数组 addObject:[NSValue valueWithCGPoint:point]] 通过这三步,可以获取在屏幕上点击的点的位置,并将其添加到用来保存点的数组里。
CGContextSetLineWidth(上下文,10);将线的宽度设置为10 好像是px
定义点 const CGPoint points1[] ={CGPointMake(x,y),.....},里面可以定义多个点。 绘制线段CGContextStrokeLineSegments(上下文,定义点,定义点的个数),绘制线段默认不绘制端点。
CGContextSetLineCap(上下文,形式),形式有三种,kCGLineCapSquare,这个是方形端点。kCGLineCapRound这个是圆形端点。最后一个是kCGLineCapButt,这个是啥我还真不清楚,专门试了几次感觉都没有变化,好像也是方形的。
CGContextSetFillColorWithColor(上下文,颜色) 设置填充颜色
CGContextFillRect(上下文,CGRectMake()) 填充一个矩形 在这里设置位置,尺寸
绘制图形的话,先设置线条的颜色,在进行绘制
填充图形的话,先设置线条的颜色,然后进行绘制,最后还要填充 填充的方法里面多有一个Fill