iPhone開發應用之重繪機制
iPhone開發應用中重繪機制是本文要介紹的內容,今天來講解一下iPhone開發中的重繪機制,iPhone重繪機制給人的最大的感覺是,奇怪。下面我們來講解一下如何使用iPhone進行繪圖、重繪操作。
iPhone開發中的繪圖操作是在UIView類的drawRect方法中完成的,所以如果我們要想在一個UIView中繪圖,需要寫一個擴展UIView 的類,并重寫drawRect方法,在這里進行繪圖操作,程序會自動調用此方法進行繪圖。
下面先說明一下繪圖,比如,你想繪制一個方塊,你需要寫一個類來擴展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方法中完成,但是蘋果不建議直接調用drawRect方法,當然如果你強直直接調用此方法,當然是沒有效果的。蘋果要求我們調用UIView類中的setNeedsDisplay方法,則程序會自動調用drawRect方法進行重繪。如下圖所示:
在上圖中,點擊“畫圓”按鈕則在屏幕上繪制一個圓,點擊“畫方”按鈕則在屏幕上繪制一個方,拖動滑塊可以調節連線的粗細。
小結:iPhone開發應用之重繪機制的內容介紹完了,希望通過本文的學習能對你有所幫助!