你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> ios 貝塞爾曲線切割圓角的方法

ios 貝塞爾曲線切割圓角的方法

編輯:IOS開發綜合

ios 系統框架已經給我們提供了相應的切割圓角的方法, 但是如果在一個見面有很多控件切割的話會出現卡頓和個別不切得現在

/* 創建一個Button */
   UIButton * button = [UIButton buttonWithType:(UIButtonTypeSystem)];
   [button setFrame:CGRectMake(100, 100, 100, 100)];
   [self addSubview:button]; 

/* 正廠的圓角需求處理方法 */

  button.layer.cornerRadius = 10.0f; //弧度
  button.layer.masksToBounds = YES;

/* 貝塞爾曲線切割 */
  /**
   *
   * @param UIRectCorner 
   * 左上 UIRectCornerTopLeft   = 1 << 0, 
    左下 UIRectCornerBottomLeft = 1 << 2, 
    右下 UIRectCornerBottomRight = 1 << 3, 
    所有角 UIRectCornerAllCorners = ~0UL
   *
   */
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:button.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerBottomLeft cornerRadii:button.bounds.size];
  CAShapeLayer *maskLayer = [[CAShapeLayer alloc]init];
  //設置大小
  maskLayer.frame = button.bounds;
  //設置圖形樣子
  maskLayer.path = maskPath.CGPath;
  button.layer.mask = maskLayer;

注意: 如果這裡選擇兩個角 的話如果是選兩個對角線 則會切 所有角

比如:UIRectCornerTopLeft | UIRectCornerBottomRight 他就會切割所有角

當然你也可以直接創建個圓角的button

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。

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