亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

iOS中設(shè)置圓角的幾種方法示例

 更新時間:2017年03月04日 11:38:02   作者:bigcode  
這篇文章主要介紹了iOS中設(shè)置圓角的三種方法,其中包括使用layer屬性、使用繪圖設(shè)置圓角以及通過另一張mask圖創(chuàng)建新圖,需要的朋友可以參考借鑒,下面來一起看看吧。

前言

圓角(RounderCorner)是一種很常見的視圖效果,相比于直角,它更加柔和優(yōu)美,易于接受。但很多人并不清楚如何設(shè)置圓角的正確方式和原理。設(shè)置圓角會帶來一定的性能損耗,如何提高性能是另一個需要重點討論的話題。我查閱了一些現(xiàn)有的資料,收獲良多的同時也發(fā)現(xiàn)了一些誤導人錯誤。

1. 使用layer屬性

layer.backgroundColor = [UIColor cyanColor].CGColor; // 給圖層添加背景色 
layer.contents = (id)[UIImage imageNamed:@"view_BG.png"].CGImage; // 給圖層添加背景圖片 
layer.cornerRadius = 8; // 將圖層的邊框設(shè)置為圓腳 
layer.masksToBounds = YES; // 隱藏邊界 
layer.borderWidth = 5; // 給圖層添加一個有色邊框 
layer.borderColor = [UIColor colorWithRed:0.52 green:0.09 blue:0.07 alpha:1].CGColor; 
layer.shadowOffset = CGSizeMake(0, 3); // 設(shè)置陰影的偏移量 
layer.shadowRadius = 10.0; // 設(shè)置陰影的半徑 
layer.shadowColor = [UIColor blackColor].CGColor; // 設(shè)置陰影的顏色為黑色 
layer.shadowOpacity = 0.9; // 設(shè)置陰影的不透明度

2. 使用繪圖設(shè)置圓角

/** 設(shè)置圓形圖片(放到分類中使用) */
- (UIImage *)cutCircleImage { 
  UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0); // 獲取上下文
  CGContextRef ctr = UIGraphicsGetCurrentContext(); // 設(shè)置圓形 
  CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height); 
  CGContextAddEllipseInRect(ctr, rect); // 裁剪 
  CGContextClip(ctr); // 將圖片畫上去 
  [self drawInRect:rect]; 
  UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
  UIGraphicsEndImageContext(); 
  return image;
}

3. 通過另一張mask圖創(chuàng)建新圖

首先需要一張mask圖,然后將這張mask圖和原圖合成,得到帶圓角的新圖。效率和方法一類似,合成新圖等同于在off-screen作圖。該方法的優(yōu)點是可以不局限于圓角,全憑mask圖控制。

小結(jié)

如果要效率(例如要提高table view的滾動幀數(shù)),就多用方法二。要方便,自然是方法一。如果需要的特殊形狀UIBezierPath對象無法構(gòu)成,則考慮方法三。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對各位iOS開發(fā)者們能帶來一定的幫助,如果有疑問大家可以留言交流。謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論