UIView自定義繪圖

每一個UIViewController都有一個默認的UIView,通常我們在xib文件中編輯的就是在默認的UIView上。

也可以自定義自己的UIView子類,然後加入到UIViewController中。

建立一個UIView子類GraphicsView : UIView。在UIViewController中的loadView方法中加入:

-(void)loadView{
    GraphicsView *gv = [[GraphicsView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
    [self setView:gv];
}

就把GraphicsView添加到了UIViewController中的默認UIView中了。

UIViewController的執行過程是這樣的,首先UIViewController調用loadView把自定義的UIView加入到默認View中,如果我們沒有重寫loadView方法,

那UIViewController就採用系統默認的UIView。把視圖View加載load以後,就調用viewDidLoad方法,在這個方法中進行視圖的另外的一些操作。

當這個視圖不再被顯示而且系統出現內存警告時候,會調用ViewDidUnload方法卸載這個視圖,所以最好在這個視圖當中release子視圖,要不當視圖釋放以後,

子視圖不能被釋放,就會造成內存泄露。

要自己繪圖,就要重寫GraphicsView中的drawRect方法,下面是畫條紅色的直線:

    [[UIColor redColor]set];
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetLineWidth(context, 5.0);
    CGContextMoveToPoint(context, 50.0f, 10.0f);
    CGContextAddLineToPoint(context, 100.0f, 200.0f);
    CGContextStrokePath(context);
下面是在View中顯示一張圖片

UIImage *image = [UIImage imageNamed:@"LRY.jpg"];
    if(image == nil){
        NSLog(@"load image fail");
    }
    
    [image drawAtPoint:CGPointMake(0, 0)];

在自定義的UIView子類中,重寫drawRect方法,我們可以做很多自定義的繪圖工作,提高程序的美觀,功能等。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章