iOS设置圆角及圆形图片

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


先来看看效果图:


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

大概思路如下:

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


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

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. // 圆形头像  
  2. UIImageView *avatarImgView = [[UIImageView alloc] initWithFrame:CGRectMake((SCREENWIDTH - 75) / 21507575)];  
  3. avatarImgView.image = [UIImage imageNamed:@"icon"];  
  4. // 图片做圆形,圆角角度为高度的一半,而高宽一致,因此可以形成正圆  
  5. avatarImgView.layer.masksToBounds = YES;  
  6. avatarImgView.layer.cornerRadius = avatarImgView.frame.size.height / 2 ;  
  7. [self.view addSubview:avatarImgView];  


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

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. // 完全半圆圆角的按钮  
  2. UIButton *btnOne = [[UIButton alloc] initWithFrame:CGRectMake((SCREENWIDTH - 200) / 225020040)];  
  3. [btnOne setTitle:@"完全圆角" forState:UIControlStateNormal];  
  4. [btnOne setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];  
  5. [btnOne setBackgroundColor:[UIColor colorWithRed:228.0/255.0 green:117.0/255.0 blue:97.0/255.0 alpha:1.0]];  
  6. // 按钮圆弧,以高度的一半为圆角,两边会形成完整的半圆  
  7. btnOne.layer.masksToBounds = YES;  
  8. btnOne.layer.cornerRadius = btnOne.frame.size.height / 2;  
  9. [self.view addSubview:btnOne];  


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

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. // 小圆角的按钮  
  2. UIButton *btnTwo = [[UIButton alloc] initWithFrame:CGRectMake((SCREENWIDTH - 200) / 231520040)];  
  3. [btnTwo setTitle:@"小圆角" forState:UIControlStateNormal];  
  4. [btnTwo setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];  
  5. [btnTwo setBackgroundColor:[UIColor colorWithRed:228.0/255.0 green:117.0/255.0 blue:97.0/255.0 alpha:1.0]];  
  6. // 按钮圆弧,以高度的一半为圆角,两边会形成完整的半圆  
  7. btnTwo.layer.masksToBounds = YES;  
  8. btnTwo.layer.cornerRadius = 4.0;  
  9. [self.view addSubview:btnTwo];  


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

[objc]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. // 带边框的圆角Label  
  2. UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake((SCREENWIDTH - 200) / 239020040)];  
  3. label.text = @"带边框圆角label";  
  4. label.textAlignment = NSTextAlignmentCenter;  
  5. label.textColor = [UIColor colorWithRed:228.0/255.0 green:117.0/255.0 blue:97.0/255.0 alpha:1.0];  
  6. // 设置边框宽度  
  7. label.layer.borderWidth = 1.0;  
  8. // 设置边框颜色  
  9. label.layer.borderColor = [[UIColor colorWithRed:228.0/255.0 green:117.0/255.0 blue:97.0/255.0 alpha:1.0] CGColor];  
  10. // 设置圆角  
  11. [label.layer setCornerRadius:4.0];  
  12. [self.view addSubview:label];  


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

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

利用 TensorFlow 训练自己的目标识别器。本文内容来自于我的毕业设计,基于 TensorFlow 1.15.0,其他 TensorFlow 版本运行可能存在问题。.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值