成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iOS圖片拉伸:resizableImageWithCapInsets

移動開發 iOS
今天做了一個溫度計的應用,需要一個圖,能夠根據輸入的數據將溫度計里面的紅色圖片拉伸。為了達到這個效果,使用了iOS5的函數:resizableImageCapInsets:(UIEdgeInsets)Insets。最近終于申請到蘋果開發者賬號!搞的好煩啊!給大家帶福利了!

今天做了一個溫度計的應用,需要一個圖,能夠根據輸入的數據將溫度計里面的紅色圖片拉伸。為了達到這個效果,使用了iOS5的函數:resizableImageCapInsets:(UIEdgeInsets)Insets。

最近終于申請到蘋果開發者賬號!搞的好煩啊!給大家帶福利了!

想真機調試,上架應用,將IPA打包給朋友用,或者申請開發者賬號的請聯系我!

真機調試有99個限制!

其中Insets這個參數的格式是(top,left,bottom,right),從上、左、下、右分別在圖片上畫了一道線,這樣就給一個圖片加了一個框。只有在框里面的部分才會被拉伸,而框外面的部分則不會改變。比如(20,5,10,5),意思是下圖矩形里面的部分可以被拉伸,而其余部分不變。

據說stretchableImageWithLeftCapWidth:topCapHeight這個函數也能夠實現,但是在iOS5里面建議不要使用這個函數。效果如下圖:

當修改了數據之后,變成這樣:

下面來看如何實現。

溫度計共由三張圖組成:

背景圖ThermometerBackground.png:

刻度圖ThermometerCalibration:

里面的溶液Calibration:

首先將背景圖加入superview中,再將刻度圖和溶液圖加入背景圖中:(為簡化起見,一些不必要的代碼已經省略)

  1. //將背景圖加入superview  
  2. UIImageView *thermometerBackground = [[UIImageView alloc] initWithFrame:THERMOMETER_FRAME];  
  3. [thermometerBackground setImage:[UIImage imageNamed:@"ThermometerBackground.png"]];  
  4. [self.view addSubview:self.thermometerBackground];  
  5. //將溶液圖加入背景圖  
  6. UIImageView *thermometer = [[UIImageView alloc]init];  
  7. [self.thermometerBackground addSubview:self.thermometer];  
  8. //將刻度圖加入背景圖  
  9. UIImageView *thermometerCalibration = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"ThermometerCalibration.png"]];  
  10. [self.thermometerCalibration setFrame:CGRectMake(0, 10, thermometerBackground.frame.size.width, thermometerCalibration.image.size.height*thermometerBackground.frame.size.width/thermometerCalibration.frame.size.width)]; 
  1. [self.thermometerBackground addSubview:thermometerCalibration];  

然后,根據度數生成對應高度的image

  1. UIImage* image = [UIImage imageNamed:@"Thermometer.png"];  
  2. UIEdgeInsets insets = UIEdgeInsetsMake(20, 0, 25, 0);  
  3. image = [image resizableImageWithCapInsets:insets];  
  4. int top = 10.00+(38.00-temperature)*20.00;  
  5. [self.thermometer setFrame:CGRectMake(0, top, self.thermometerBackground.frame.size.width, self.thermometerBackground.frame.size.height-top)];  
  1. [self.thermometer setImage:image];  

在這里,top這個變量就代表了根據度數計算出的溶液的高度。

這樣,當改變溫度temperature的大小時,只要在viewWillAppear里調用這段代碼,就能夠動態生成溫度計圖片了。

責任編輯:閆佳明 來源: apkbus
相關推薦

2013-08-21 11:31:21

iPhone圖片方法

2021-12-29 06:24:16

AI審稿人工智能

2015-09-09 11:08:48

qq空間可拉伸頭部

2023-04-27 08:42:50

效果

2010-07-26 15:12:20

坐標變換

2015-08-10 09:50:21

ios圖片文本

2015-01-20 17:15:55

iOS源碼滾動視圖

2018-05-16 07:41:29

圖片代碼資源

2022-05-26 00:06:19

CSSFirefoxElectron

2011-05-12 11:28:20

按比例縮放

2023-04-25 17:24:31

veImageXiOSSDK

2011-09-19 15:42:33

TwitteriOS5

2013-07-29 11:19:16

iOS開發iOS開發學習FMDB更新二進制圖片

2011-06-02 10:12:54

TwitteriOS 5蘋果

2015-04-23 10:15:53

AndroidiOS圖片

2015-04-23 10:52:53

AndroidiOS圖片

2013-10-16 16:58:17

iOS優化緩存優化

2011-08-18 17:20:21

IOS開發TableView圖片

2011-10-13 15:59:55

2011-02-21 16:11:45

C#.NET.NET framew
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 四虎影院在线播放 | 91精品久久久久久综合五月天 | 精品亚洲一区二区三区 | 成人久久18免费网站图片 | 一区二区三区视频 | 成人免费观看视频 | 日本电影免费完整观看 | 日本不卡免费新一二三区 | 久久久精品一区二区三区 | 91精品一区| 日本免费一区二区三区视频 | 午夜精品一区二区三区在线视频 | 中文字幕 在线观看 | 国产精品久久久久久久久久免费看 | 久久91av| 国产日韩在线观看一区 | 欧美中文一区 | 精品一区二区三区在线观看 | 欧美日韩视频 | 91免费版在线观看 | 伦理片97 | 色偷偷噜噜噜亚洲男人 | 综合色播 | 国产中文 | 97色在线视频 | 伊人成人免费视频 | 91精品国产高清一区二区三区 | 国产在线a | 欧美成人精品激情在线观看 | 国产精品久久99 | 国产精品综合色区在线观看 | 中文字幕精品一区二区三区在线 | 国产在线观看网站 | 欧美久久免费观看 | 日本三级电影在线看 | 国产高清精品在线 | 天堂中文字幕av | 99精品视频免费观看 | 国产精品久久久久久久久免费软件 | 欧洲精品一区 | 91精品国产综合久久久动漫日韩 |