美文网首页
设置圆角的方式

设置圆角的方式

作者: guoguojianshu | 来源:发表于2018-12-03 22:46 被阅读0次
#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *pictureImageView;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
//设置圆角各个方法在下面列出
}
//     基本方式添加圆角
    self.pictureImageView.layer.cornerRadius = 20;
    self.pictureImageView.layer.masksToBounds = YES;
//使用UIBezierPath和core graphics画一个圆角
    UIGraphicsBeginImageContextWithOptions(self.pictureImageView.bounds.size, YES, 0.0);
    [[UIBezierPath bezierPathWithRoundedRect:self.pictureImageView.bounds cornerRadius:20]addClip];
    [self.pictureImageView drawRect:self.pictureImageView.bounds];
    self.pictureImageView.image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
//使用Core Graphics框架画出一个圆
    UIGraphicsBeginImageContextWithOptions(self.pictureImageView.bounds.size, YES, 1.0);
 CGContextRef ctx =   UIGraphicsGetCurrentContext();
    CGRect rect =   CGRectMake(0, 0, self.pictureImageView.bounds.size.width, self.pictureImageView.bounds.size.height);
    CGContextAddEllipseInRect(ctx, rect);
    CGContextClip(ctx);
    [self.pictureImageView.image drawInRect:rect];
  UIImage * newImage =  UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    self.pictureImageView.image = newImage;
  // 使用CAShapeLayer和UIBezierPath设置圆角

    UIBezierPath * maskPath = [UIBezierPath bezierPathWithRoundedRect:self.pictureImageView.bounds byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(20, 20)];
    CAShapeLayer * maskLayer = [[CAShapeLayer alloc]init];
    maskLayer.frame = self.pictureImageView.bounds;
    maskLayer.path = maskPath.CGPath;
    self.pictureImageView.layer.mask = maskLayer;
//    制定角为圆角
    UIBezierPath * maskPath = [UIBezierPath bezierPathWithRoundedRect:self.pictureImageView.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight cornerRadii:CGSizeMake(20, 20)];
    CAShapeLayer * maskLayer = [[CAShapeLayer alloc]init];
    maskLayer.frame = self.pictureImageView.bounds;
    maskLayer.path = maskPath.CGPath;
    self.pictureImageView.layer.mask = maskLayer;

相关文章

  • 边框效果-css-v1.0.0

    半透边框 通过设置颜色的透明度实现。 框内圆角 方式1:为元素设置圆角,外层设置轮廓outline。圆角与直角之间...

  • Xib中设置控件的圆角、边框效果

    xib中为各种控件设置圆角 通过代码的方式设置 通过xib快速设置圆角利用User Defined Runtime...

  • Flutter知识点总结一

    一、设置图片的圆角 由于图片不能直接设置圆角,所以我们需要采用其它方式来设置: 1、使用ClipRRect进行设置...

  • Android圆角背景设置

    一、前言: 使用databinding设置圆角背景,代替drawable方式 1、xml中设置圆角背景 注意:这个...

  • 设置圆角的方式

  • 圆角与阴影

    1. 画圆角 (1)传统的圆角设置方式 imageView.clipsToBounds = YES; imag...

  • iOS-UIImageView圆角设置

    iOS开发中图片圆角设置是最常见的需求,圆角符合人类视觉安全体验,让人感觉舒适,设置圆角也是非常简单,有五种方式来...

  • CALayer常用属性整理(三)

    圆角与阴影 单纯的圆角应该没什么可说的。网上有很多设置圆角的方式。比如最简单的layer.cornerRadius...

  • Image

    直接圆角图片 设置圆角图片度数 设置圆角图片带灰色圆角边框 设置圆角图片带灰色圆角边框带阴影

  • 关于corner 性能问题

    在ios 中绘制圆角常用方式: 即可实现圆角; 如果需要只设置上边角或者下边角1个或者几个圆角,也可通过下面的方式...

网友评论

      本文标题:设置圆角的方式

      本文链接:https://www.haomeiwen.com/subject/bofpcqtx.html