iOS设置圆角及圆形图片

方方正正的样式往往会显得很生硬,而圆角的样式会让人产生别样的亲切感,现在越来越多地用到圆角,诸如用户头像之类的图片也大都用圆形来显示,本文就介绍如何设置按钮、文本框的圆角以及制作圆形的图片。

先来看看效果图:

如效果图所示,我们制作了一个圆形的头像,一个完全半圆的圆角按钮,一个小圆角的按钮,以及一个带边框且边框为圆角的label。

大概思路如下:

View都有一个layer的属性,我们正是通过layer的一些设置来达到圆角的目的,因此诸如UIImageView、UIButton、UILabel等view都可以设置相应的圆角。

对于圆形的头像,要制作正圆,我们需要首先设置UIImageView的高宽的一致的,然后我们设置其圆角角度为高度除以2即可,相当于90度,代码如下:

    // 圆形头像
    UIImageView *avatarImgView = [[UIImageView alloc] initWithFrame:CGRectMake((SCREENWIDTH - 75) / 2, 150, 75, 75)];
    avatarImgView.image = [UIImage imageNamed:@"icon"];
    // 图片做圆形,圆角角度为高度的一半,而高宽一致,因此可以形成正圆
    avatarImgView.layer.masksToBounds = YES;
    avatarImgView.layer.cornerRadius = avatarImgView.frame.size.height / 2 ;
    [self.view addSubview:avatarImgView];

对于第二个完全的半圆圆角,我们同样设置角度为高度的一般,这样可以在两边形声半圆,而由于宽度与高度不同,所以不是正圆:

    // 完全半圆圆角的按钮
    UIButton *btnOne = [[UIButton alloc] initWithFrame:CGRectMake((SCREENWIDTH - 200) / 2, 250, 200, 40)];
    [btnOne setTitle:@"完全圆角" forState:UIControlStateNormal];
    [btnOne setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [btnOne setBackgroundColor:[UIColor colorWithRed:228.0/255.0 green:117.0/255.0 blue:97.0/255.0 alpha:1.0]];
    // 按钮圆弧,以高度的一半为圆角,两边会形成完整的半圆
    btnOne.layer.masksToBounds = YES;
    btnOne.layer.cornerRadius = btnOne.frame.size.height / 2;
    [self.view addSubview:btnOne];

对于第三个小圆角的按钮,我们直接设置圆角的圆度为一个数即可,数的大小决定了按钮圆角的样式,这里我们设为4:

    // 小圆角的按钮
    UIButton *btnTwo = [[UIButton alloc] initWithFrame:CGRectMake((SCREENWIDTH - 200) / 2, 315, 200, 40)];
    [btnTwo setTitle:@"小圆角" forState:UIControlStateNormal];
    [btnTwo setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
    [btnTwo setBackgroundColor:[UIColor colorWithRed:228.0/255.0 green:117.0/255.0 blue:97.0/255.0 alpha:1.0]];
    // 按钮圆弧,以高度的一半为圆角,两边会形成完整的半圆
    btnTwo.layer.masksToBounds = YES;
    btnTwo.layer.cornerRadius = 4.0;
    [self.view addSubview:btnTwo];

第四个label,我们先要添加边框,我们设置边框宽度为1,就可以显示边框了,然后同样设置圆角为4:

    // 带边框的圆角Label
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake((SCREENWIDTH - 200) / 2, 390, 200, 40)];
    label.text = @"带边框圆角label";
    label.textAlignment = NSTextAlignmentCenter;
    label.textColor = [UIColor colorWithRed:228.0/255.0 green:117.0/255.0 blue:97.0/255.0 alpha:1.0];
    // 设置边框宽度
    label.layer.borderWidth = 1.0;
    // 设置边框颜色
    label.layer.borderColor = [[UIColor colorWithRed:228.0/255.0 green:117.0/255.0 blue:97.0/255.0 alpha:1.0] CGColor];
    // 设置圆角
    [label.layer setCornerRadius:4.0];
    [self.view addSubview:label];

如上,基本的圆角设置就实现了,很简单实用吧。

这里是我的示例工程,欢迎fork:https://github.com/Cloudox/RoundedDemo

时间: 2025-01-02 17:37:10

iOS设置圆角及圆形图片的相关文章

给图片设置圆角和圆形边框,添加点击事件

//1.创建图片 _userImage = [[UIImageView alloc]init]; //2.设置图片圆角 _userImage.layer.cornerRadius = 33; _userImage.layer.masksToBounds = YES; //3.设置圆形边框 CALayer *layer = [_userImage layer]; layer.borderColor = [[UIColor whiteColor] CGColor]; layer.borderWidt

iOS设置圆角的四种方法

一.设置CALayer的cornerRadius cornerRadius属性影响layer显示的background颜色和前景框border,对layer的contents不起作用.故一个imgView(类型为UIImageView)的image不为空,设置imgView.layer的cornerRadius,是看不出显示圆角效果的,因为image是imgView.layer的contents部分. 这种情况下将layer的masksToBounds属性设置为YES,可以正确的绘制出圆角效果.

IOS 设置圆角用户头像

在App中有一个常见的功能,从系统相册或者打开照相机得到一张图片,然后作为用户的头像.从相册中选取的图片明明都是矩形的图片,但是展示到界面上却变成圆形图片,这个神奇的效果是如何实现的呢? 请大家跟着下面的步骤,去实现选取并展示圆角头像的功能吧! 一.设置显示头像的圆角图片 1. 显示用户头像用UIImageView实现,添加默认图片后效果如下图所示,头像显示为矩形图片. 代码实现: // ViewController.m // SetUserImage // // Created by jere

iOS设置圆角的常用方法

//第一种方法:最常用的方法,但是性能最差 UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)]; imageView.image = [UIImage imageNamed:@"晚起的蚂蚁.jpg"]; //只需要设置layer层的两个属性 //设置圆角 imageView.layer.cornerRadius = imageView.frame.size.

iOS开发学习-给圆形图片添加边框

imageView.layer.cornerRadius = imageView.bounds.size.width * 0.5;// 设置圆角刚好是自身宽度的一半,就刚好是圆形 imageView.layer.masksToBounds = YES; imageView.layer.borderWidth = 1; //边框宽度 imageView.layer.borderColor = [[UIColor grayColor] CGColor];//边框颜色

iOS设置UITableView的背景图片,以及不显示多余的空Cell

设置UITableView的背景图片:     UIImageView *imageView=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"hi.jpg"]];     [self.tableView setBackgroundView:imageView]; 设置UITableView不显示多余的空Cell:     self.tableView.tableFooterView = [[UIView alloc] in

设置圆角,圆形图像,阴影部分

在IB中,当你使用Custom类型的Button时,你可以指定按钮的背景色.但当你运行时按钮就失去了圆角特性,你看到的仅仅是一个方块.因为custombutton没有定义任何属性默认值.你必须自己去定义它们,这就需要使用Core Animation Layer. 提示:编写代码之前,需要导入QuartzCore框架到工程中,然后#import<QuartzCore/QuartzCore.h>.我会通常会把它放在.pch文件中. IB没有干的事情,你只能通过代码来做.例如,如果你想做一个圆角且红

WPF 设置透明度和圆形图片

1 设置效果为 2 窗体中代码为 <Window x:Class="QyNodeTest.MainWindow"        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"        Title="MainWindow&

Android圆角图片和圆形图片实现总结

1. 概述 Android研发中经常会遇见圆角或者圆形图片的展示,但是系统中ImageView并不能直接支持,需要我们自己做一些处理,来实现圆角图片或者圆形图片,自己最近对这块的实现做了一下总结,看一下几种实现方法. 图层叠加,上层覆盖一层蒙版,遮挡图片,让图片展示出圆角或者圆形效果 重新绘制 BitmapShader Xfermode RoundedBitmapDrawable CardView,使用官方控件,自动裁剪,达到圆角或者圆形效果.(5.0以上系统) 第一种方法,很傻,不太优雅,不推