国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

關情紙尾-----Quartz2D-模仿系統的UIImageView

2019-11-14 18:21:04
字體:
來源:轉載
供稿:網友

模仿系統的UIImageView

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

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


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

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

具體代碼實現:  

  

 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  }

 

 






發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 禹州市| 丰原市| 股票| 阜新市| 湟中县| 雅江县| 沙田区| 莱阳市| 昌宁县| 临潭县| 吴桥县| 环江| 庄河市| 肥城市| 张家川| 广灵县| 怀安县| 玉屏| 天门市| 漠河县| 永川市| 祁东县| 东丽区| 中方县| 关岭| 垣曲县| 界首市| 遵义县| 杭锦后旗| 平武县| 府谷县| 邯郸市| 尼勒克县| 海丰县| 丰都县| 博湖县| 盱眙县| 江北区| 新野县| 苏尼特右旗| 都匀市|