初始化的時候有的并不需要指定范圍飒泻,直接給一個init就行了,但是有的比如說視圖吏廉,是要看見的東西泞遗,就必須給一個指定的范圍,不然默認的是0size席覆,是看不見的史辙。
如今的object-C已經(jīng)不支持自己釋放內(nèi)存了,[view release],這個語句佩伤,已經(jīng)沒用了聊倔。
我看的這本書上,用類型NSMutableArray定義了一個存儲點坐標的數(shù)組生巡,這個類型是什么耙蔑,目前自己并不清楚,有時間可以回頭來看看孤荣。這個數(shù)組的初始化[[NSMutableArray alloc] initWithCapacity:3],這個3很是誤導人甸陌,讓人以為是只有三個空間或者是不能超過三個,而實際上盐股,他只是說明先申請三個空間先用著钱豁,如果超了也沒有問題的。
drawRect函數(shù)一開始進去疯汁,先要獲取繪圖上下文牲尺,基本上每個方法里面都是要用的。CGContextRef context =UIGraphicsGetCurrentContext();其中context就是獲取到的上下文涛目。
CGContextSetRGBStrokeColor(上下文秸谢,三原色凛澎,透明度);這個設置了顏色以及透明霹肝,我看的書是畫線前先設置的這個。
CGPoint addLines[] ={點a塑煎,點b沫换,點c,最铁。讯赏。。冷尉。} 這個方法就是將花括號里的點按順序連起來漱挎,我覺得也就只能連三角形了,三條邊以上就可能會交叉雀哨,閉合圖的話磕谅,第一個點和最后一個點應該是一致的私爷。
CGContextADDLines(上下文,,)?? 這個函數(shù)是什么作用我不知道
CGContextStrokePath(上下文)不懂
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *) event 手指開始觸碰時調(diào)用這個函數(shù)
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *) event 手指按住并移動時,調(diào)用這個函數(shù)
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *) event 手指離開屏幕時膊夹,調(diào)用這個函數(shù)
UITouch *touch=[touches anyObject];?????? CGPoint point=[touch locationInView:self];? [數(shù)組? addObject:[NSValue valueWithCGPoint:point]]???? 通過這三步衬浑,可以獲取在屏幕上點擊的點的位置,并將其添加到用來保存點的數(shù)組里放刨。
CGContextSetLineWidth(上下文工秩,10);將線的寬度設置為10? 好像是px
定義點 const? CGPoint points1[] ={CGPointMake(x,y),.....},里面可以定義多個點。? 繪制線段CGContextStrokeLineSegments(上下文进统,定義點助币,定義點的個數(shù)),繪制線段默認不繪制端點螟碎。
CGContextSetLineCap(上下文奠支,形式),形式有三種抚芦,kCGLineCapSquare,這個是方形端點倍谜。kCGLineCapRound這個是圓形端點尔崔。最后一個是kCGLineCapButt,這個是啥我還真不清楚,專門試了幾次感覺都沒有變化褥民,好像也是方形的季春。
CGContextSetFillColorWithColor(上下文,顏色)? 設置填充顏色
CGContextFillRect(上下文消返,CGRectMake()) 填充一個矩形 在這里設置位置载弄,尺寸
繪制圖形的話,先設置線條的顏色撵颊,在進行繪制
填充圖形的話宇攻,先設置線條的顏色,然后進行繪制倡勇,最后還要填充?? 填充的方法里面多有一個Fill