簡(jiǎn)單學(xué)習(xí)iPhone重繪機(jī)制
作者:佚名
本文介紹的是iPhone重繪機(jī)制,主要來講解一下如何使用iPhone進(jìn)行繪圖、重繪操作,來看本文詳細(xì)內(nèi)容。
iPhone重繪機(jī)制是本文要介紹的內(nèi)容,主要來講解一下如何使用iPhone進(jìn)行繪圖、重繪操作。iPhone重繪機(jī)制給人的***的感覺是,奇怪!
iPhone的繪圖操作是在UIView類的drawRect方法中完成的,所以如果我們要想在一個(gè)UIView中繪圖,需要寫一個(gè)擴(kuò)展UIView 的類,并重寫drawRect方法,在這里進(jìn)行繪圖操作,程序會(huì)自動(dòng)調(diào)用此方法進(jìn)行繪圖。
下面先說明一下繪圖,比如,你想繪制一個(gè)方塊,你需要寫一個(gè)類來擴(kuò)展UIView并在drawRect方法中填入如下代碼:
- Code block
- - (void)drawRect:(CGRect)rect
- {
- // Drawing code CGContextRef context=UIGraphicsGetCurrentContext();
- CGContextSetLineWidth(context, width);
- CGContextSetStrokeColorWithColor(context, [[UIColor redColor] CGColor]);
- CGContextStrokeRect(context, CGRectMake(110.0, 110.0, 100.0, 100.0));
- CGContextStrokePath(context);
- }
則效果如下:
再說明一下重繪,重繪操作仍然在drawRect方法中完成,但是蘋果不建議直接調(diào)用drawRect方法,當(dāng)然如果你強(qiáng)直直接調(diào)用此方法,當(dāng)然是沒有效果的。蘋果要求我們調(diào)用UIView類中的setNeedsDisplay方法,則程序會(huì)自動(dòng)調(diào)用drawRect方法進(jìn)行重繪。如下圖所示:
在上圖中,點(diǎn)擊“畫圓”按鈕則在屏幕上繪制一個(gè)圓,點(diǎn)擊“畫方”按鈕則在屏幕上繪制一個(gè)方,拖動(dòng)滑塊可以調(diào)節(jié)連線的粗細(xì)。
小結(jié)簡(jiǎn)單學(xué)習(xí)iPhone重繪機(jī)制的內(nèi)容介紹完了,希望本文對(duì)你有所幫助!
責(zé)任編輯:zhaolei
來源:
互聯(lián)網(wǎng)