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

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

IOS圖像拉伸解決方案

2019-11-14 20:36:20
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

UIButton實(shí)現(xiàn)背景拉伸,即圖片兩端不拉伸中間拉伸的辦法有如下兩種:

第一種方法很簡(jiǎn)單而且使用性更廣。做法就是直接拉伸想要setBackgroundImage的image,代碼如下: 

  1. UIImage *image = [UIImage imageNamed:@"image.png"];   
  2. image = [image stretchableImageWithLeftCapWidth:floorf(image.size.width/2) topCapHeight:floorf(image.size.height/2)];  


設(shè)置了左端帽之后,rightCapWidth = image.size.width - (image.leftCapWidth + 1); 也就是說(shuō)圖片中間的一像素用來(lái)拉伸。垂直方向同上。設(shè)置之后無(wú)論把image放到什么控件中都可以自動(dòng)拉伸了。

  

  1. UIImage *buttonImage = [UIImage imageNamed:@"contact.png"];  
  2. buttonImage = [buttonImage stretchableImageWithLeftCapWidth:floorf(buttonImage.size.width/2) topCapHeight:floorf(buttonImage.size.height/2)];  
  3.   
  4. UIImage *buttonImageselected = [UIImage imageNamed:@"contactselected.png"];  
  5. buttonImage = [buttonImage stretchableImageWithLeftCapWidth:floorf(buttonImage.size.width/2) topCapHeight:floorf(buttonImage.size.height/2)];  
  6.   
  7. UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];  
  8. button.frame = CGRectMake(0024044);  
  9. [button setBackgroundImage:buttonImage forState:UIControlStateNormal];  
  10. [button setBackgroundImage:buttonImageselected forState:UIControlStateHighlighted];  
  11. button.center = CGPointMake(160240);  
  12. [button setTitle:@"button" forState:UIControlStateNormal];  
  13. [button setTitle:@"buttonClick" forState:UIControlStateHighlighted];  
  14. [self.view addSubview:button];  


第二種方法是在UIButton中加入一個(gè)UIImageView,拉伸imageView,然后將button的背景設(shè)為clearColor等等。把imageView放入button中,并且sendToBack,得到效果。代碼如下:
 //剛才imageView拉伸的代碼  

  1. UIImageView *strechTest = [[UIImageyiView alloc] initWithImage:[UIImage imageNamed:@"contact.png"]];  
  2. [strechTest setContentStretch:CGRectMake(0.5f0.5f0.f0.f)];  
  3. CGRect frame = strechTest.frame;  
  4. frame.size.width += 100;  
  5. strechTest.frame = frame;  

 

  1. //把imageView放入button中,并設(shè)置為back  
  2.  UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];  
  3.  button1.frame = frame;  
  4.  button1.center = CGPointMake(160140);  
  5.  [button1 addSubview:strechTest];  
  6.  [button1 sendSubviewToBack:strechTest];  
  7.  [button1 setBackgroundColor:[UIColor clearColor]];  
  8.  [button1 setTitle:@"button" forState:UIControlStateNormal];  
  9.  [button1 setTitle:@"buttonClick" forState:UIControlStateHighlighted];  
  10.  [self.view addSubview:button];  


效果:

 


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 内黄县| 凤庆县| 千阳县| 伊宁市| 平乐县| 芒康县| 凤庆县| 兰坪| 松桃| 缙云县| 建昌县| 额尔古纳市| 花莲县| 镇坪县| 仁怀市| 保康县| 武宁县| 沁源县| 赫章县| 穆棱市| 商水县| 呼和浩特市| 惠州市| 宜兰市| 讷河市| 寻乌县| 法库县| 白玉县| 西乌珠穆沁旗| 宁夏| 乌兰县| 岳普湖县| 武川县| 太白县| 嘉定区| 施秉县| 米脂县| 民乐县| 龙胜| 青铜峡市| 怀来县|