iOS之用xib给控件设置圆角、边框效果
xib中为各种控件设置圆角
- 通过代码的方式设置
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIView *myView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.myView.layer.masksToBounds = YES;
self.myView.layer.cornerRadius = 10;
}
- 通过xib快速设置圆角
- 利用User Defined Runtime Attributes 进行设置

- 详细步骤介绍
- 点击UI控件
- 点击 Xcode 右侧上方身份检查器(左起第三个按钮)
- 找到 Runtime Attributes 属性,通过Key Path 和 Value 进行设置
- 设置圆角需要到的Key Path:
- layer.cornerRadius ,注意该 key 对应 Value 的 type 应该设置为 String
- layer.masksToBounds ,注意该 key 对应 Value 的 type 应该设置为 Boolean , 当右侧出现对号时为YES
- 注意:经过测试,
UILabel 必须
设置设置 masksToBounds 这一键值对,才会出现圆角效果;UIButton、UIView、UIImageView 只需设置 layer.cornerRadius 这一键值对就可实现圆角效果
Xib 为控件设置边框效果
- 通过代码方式进行设置
- (void)viewDidLoad {
[super viewDidLoad];
self.myView.layer.borderColor = [UIColor redColor].CGColor;
self.myView.layer.borderWidth = 2;
}
- 通过xib快速设置边框
- 所用方法和上面所讲Xib设置圆角基本相同,唯一不同的就是设置 key Path 键值对
- 设置边框需要到的Key Path:
- layer.borderWidth ,注意该 key 对应 Value 的 type 应该设置为 String
- layer.borderColor , 注意该 key 对应 Value 的 type 应该设置为 Color
当我们满怀欣喜的运行程序的时候,你会发现结果并不会如你所想,边框效果并没有出现,那么难道是我们的方法不对么?
- 不知道你有没有注意到 layer.borderColor 对应值得类型:Color;经常用代码进行边框设置的你,一定记得我们设置的颜色类型为
CGColor
,不错问题就出在了这上面- 按照上述方法我们设置的边框颜色为
UIColor
类型,当然不会起作用了啊。
- 按照上述方法我们设置的边框颜色为
- 下面就给出一种简便的解决方法,我们只需要为 CALayer 创建一个分类就可以了,具体代码如下:
CALayer+ZZYXibBorderColor.h
#import <QuartzCore/QuartzCore.h>
@interface CALayer (ZZYXibBorderColor)
@end
CALayer+ZZYXibBorderColor.m
#import "CALayer+ZZYXibBorderColor.h"
#import <UIKit/UIKit.h>
@implementation CALayer (ZZYXibBorderColor)
- (void)setBorderColorWithUIColor:(UIColor *)color
{
self.borderColor = color.CGColor;
}
@end
注意此时,设置边框颜色就需要用
layer.borderColorWithUIColor
来代替layer.borderColor
注意:当我们使用Xib设置控件圆角、边框的时候,如果将key Path写错
,系统不会报错
,但是运行不会实现理想的效果
原文链接:http://www.jianshu.com/p/3f6a4343139e
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
iOS之用xib给控件设置圆角、边框效果的更多相关文章
- iOS之分别使用代码和storyboard、xib为控件设置圆角(以按钮为例)
首先我们看一下代码是如何给按钮设置圆角的: 我们再来看看如何在storyboard或xib中给按钮设置圆角: 1.在storyboard或xib中添加按钮后,设置标题和背景色,做好约束: 2.点击 S ...
- 将控件画成圆角的效果(Delphi)
最近在做一个Delphi的项目,常常要设计软件的界面,需要将控件画成圆角矩形.在Delphi中将控件画成圆角效果,可使用CreateRoundRectRgn函数.在此写了一个通用的函数,只要在用到改变 ...
- 50个Android开发技巧(12 为控件加入圆角边框)
控件的圆角边框能够使你的App看起来更美观,事实上实现起来也非常easy. (原文地址:http://blog.csdn.net/vector_yi/article/details/24463025) ...
- 工具类(为控件设置圆角) - iOS
为了便于日常开发效率,因此创建了一些小的工具类便于使用.具体 code 如下:声明: /* 为控件添加边框样式_工具类 */ #import <UIKit/UIKit.h> typedef ...
- iOS 在xib或storyboard里为控件添加圆角、外框和外框颜色
如果要在xib和storyboard里为控件添加圆角和外框宽度,只要这样做就可以 layer.borderWidth 设置外框宽度属性 layer.cornerRadius 设置圆角属性 ...
- iOS在xib或storyboard里为控件添加圆角、外框和外框颜色
如果要在xib和storyboard里为控件添加圆角和外框宽度,只要这样做就可以: layer.borderWidth 设置外框宽度属性 layer.cornerRadius 设置圆角属性 只要为属性 ...
- Xib中设置控件的圆角、边框效果
设置控件的圆角和边框效果有两种方式: 1.代码实现: self.myView.layer.masksToBounds = YES; self.myView.layer.cornerRadius = ; ...
- 工具类(为控件设置色值) - iOS
为了便于日常开发效率,因此创建了一些小的工具类便于使用.具体 code 如下:声明: /* 为控件设置色值 */ #import <UIKit/UIKit.h> @interface UI ...
- iOS开发UI篇—UITableview控件使用小结
iOS开发UI篇—UITableview控件使用小结 一.UITableview的使用步骤 UITableview的使用就只有简单的三个步骤: 1.告诉一共有多少组数据 方法:- (NSInteger ...
随机推荐
- SqlSugar轻量ORM
蓝灯软件数据股份有限公司项目,代码开源. SqlSugar是一款轻量级的MSSQL ORM ,除了具有媲美ADO的性能外还具有和EF相似简单易用的语法. 学习列表 0.功能更新 1.SqlSuga ...
- 9Patch在Android平台的应用
- 自问自答之VR遐想
先让我组织一下语言,作为表达能力超弱的战五渣来讲,归纳总结什么的最要命了. 我可以给你分析个1到N条出来,但是一般来讲没什么顺序,想到什么就说什么.而且我属于线性思维,有一个引子就可以按着话头一步步发 ...
- 多线程与网络之JSON和XML数据的解析
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- 类内const static(static const)成员变量初始化问题
在查找const相关资料的过程中,又遇到了另外一个问题,就是C++类中const static(或者static const)成员变量应当如何初始化的问题. 查阅了许多资料,发现VC环境下,只允许co ...
- 2014年国人开发的最热门的.NET开源项目 TOP 25
原文地址:http://www.cnphp6.com/archives/72213 1 奎宇工作室 / DotNetCodes C# 一些常用的功能性代码,可以减少许多开发时间,而且类与类之间没有什么 ...
- 深入浅出 JavaScript 数组 v0.5
有一段时间不更新博客了,今天分享给大家的是一篇关于JS数组的,数组其实比较简单,但是用法非常灵活,在工作学习中应该多学,多用,这样才能领会数组的真谛. 以下知识主要参考<JS 精粹>和&l ...
- Magento输入正确的登陆名和密码无法进入后台
请找到 这个文件夹: app\code\core\Mage\Core\Model\Session\Abstract 然后修改Varien.php这个文件: 找到代码(大约88行): $cookiePa ...
- 在C中定义一个动态的二维数组
一般来讲两种办法: 第一种:连续内存分配 #include "stdio.h" #include "stdlib.h" int main() { int x,y ...
- JDBC注册驱动的三种方式
JDBC注册驱动的三种方式 1.通过导入的JDBC的驱动包拿到的com.mysql.jdbc.Driver对象,利用java.sql.DriverManager对象的DriverManager.reg ...