iPhone開(kāi)發(fā)應(yīng)用之重繪機(jī)制
iPhone開(kāi)發(fā)應(yīng)用中重繪機(jī)制是本文要介紹的內(nèi)容,今天來(lái)講解一下iPhone開(kāi)發(fā)中的重繪機(jī)制,iPhone重繪機(jī)制給人的最大的感覺(jué)是,奇怪。下面我們來(lái)講解一下如何使用iPhone進(jìn)行繪圖、重繪操作。
iPhone開(kāi)發(fā)中的繪圖操作是在UIView類(lèi)的drawRect方法中完成的,所以如果我們要想在一個(gè)UIView中繪圖,需要寫(xiě)一個(gè)擴(kuò)展UIView 的類(lèi),并重寫(xiě)drawRect方法,在這里進(jìn)行繪圖操作,程序會(huì)自動(dòng)調(diào)用此方法進(jìn)行繪圖。
下面先說(shuō)明一下繪圖,比如,你想繪制一個(gè)方塊,你需要寫(xiě)一個(gè)類(lèi)來(lái)擴(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);
- }
則效果如下:
再說(shuō)明一下重繪,重繪操作仍然在drawRect方法中完成,但是蘋(píng)果不建議直接調(diào)用drawRect方法,當(dāng)然如果你強(qiáng)直直接調(diào)用此方法,當(dāng)然是沒(méi)有效果的。蘋(píng)果要求我們調(diào)用UIView類(lèi)中的setNeedsDisplay方法,則程序會(huì)自動(dòng)調(diào)用drawRect方法進(jìn)行重繪。如下圖所示:
在上圖中,點(diǎn)擊“畫(huà)圓”按鈕則在屏幕上繪制一個(gè)圓,點(diǎn)擊“畫(huà)方”按鈕則在屏幕上繪制一個(gè)方,拖動(dòng)滑塊可以調(diào)節(jié)連線的粗細(xì)。
小結(jié):iPhone開(kāi)發(fā)應(yīng)用之重繪機(jī)制的內(nèi)容介紹完了,希望通過(guò)本文的學(xué)習(xí)能對(duì)你有所幫助!




















