小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

關(guān)情紙尾-----Quartz2D模仿系統(tǒng)的UIImageView

 昵稱10504424 2015-09-11

模仿系統(tǒng)的UIImageView

整體思路:
我們想要模仿系統(tǒng)的UIImageView,我們必須得要知道系統(tǒng)的UIView怎么用.

第一種用法
系統(tǒng)的用法是創(chuàng)建一個UIImageView對象,設(shè)置frame,給它傳遞一個UIImage,再把它添加到一個View上面就可以了.
可以切換圖片.


第二種用法
就是在創(chuàng)建的時候直接傳遞一個UIImage對象,使用initWithImage的方法進(jìn)行創(chuàng)建一個UImageView的方式
用這種做法創(chuàng)建出來的UIImageView它的尺寸大小和原始圖片的尺寸大小一樣大.
所以我們自己的UIImageView也要具有這些功能.

實現(xiàn)步驟:
  第一步:新建一個UIView,起名LLImageView.
  第二步:給LLImageView添加一個UIImage屬性,供外界傳遞圖片
  第三步:在DrawRect方法當(dāng)中把傳遞的圖片繪制到View上面
  繪制方法為:[_image drawInRect:rect],繪制的圖片尺寸大小和UIView的尺寸大小一樣大.
  第四步:重寫UIImage屬性的set方法,在set方法當(dāng)中讓View重新繪制.目的為了能夠辦到切換圖片.
  第五步:提供一個- (instancetype)initWithImage:(UIImage *)image方法.
  在這個方法當(dāng)中重寫init方法
  在初始化時,讓View尺寸和圖片的實際大小一樣大.
  然后再給UIImage屬性賦值.
  這樣在繪制圖片的時候,顯示出來的View已經(jīng)有尺寸了, 尺寸大小和圖片的實際大小一樣大.

具體代碼實現(xiàn):  

  

復(fù)制代碼
 1   - (instancetype)initWithImage:(UIImage *)image{
 2      if (self = [super init]) {
 3          self.frame = CGRectMake(0, 0, image.size.width, image.size.height);
 4          _image = image;
 5       }
 6       return self;
 7     }
 8 
 9     
10  -(void)setImage:(UIImage *)image{
11       _image = image;
12       [self setNeedsDisplay];
13  }
14           
15 - (void)drawRect:(CGRect)rect {
16       [_image drawInRect:rect];
17  }
復(fù)制代碼

 

 





    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多