你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS中設置圓角的幾種方法示例

iOS中設置圓角的幾種方法示例

編輯:IOS開發綜合

前言

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

1. 使用layer屬性

layer.backgroundColor = [UIColor cyanColor].CGColor; // 給圖層添加背景色 
layer.contents = (id)[UIImage imageNamed:@"view_BG.png"].CGImage; // 給圖層添加背景圖片 
layer.cornerRadius = 8; // 將圖層的邊框設置為圓腳 
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); // 設置陰影的偏移量 
layer.shadowRadius = 10.0; // 設置陰影的半徑 
layer.shadowColor = [UIColor blackColor].CGColor; // 設置陰影的顏色為黑色 
layer.shadowOpacity = 0.9; // 設置陰影的不透明度

2. 使用繪圖設置圓角

/** 設置圓形圖片(放到分類中使用) */
- (UIImage *)cutCircleImage { 
  UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0); // 獲取上下文
  CGContextRef ctr = UIGraphicsGetCurrentContext(); // 設置圓形 
  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圖創建新圖

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

小結

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

總結

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

[db:作者簡介][db:原文翻譯及解析]

【iOS中設置圓角的幾種方法示例】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved