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给控件设置圆角、边框效果的更多相关文章

  1. iOS之分别使用代码和storyboard、xib为控件设置圆角(以按钮为例)

    首先我们看一下代码是如何给按钮设置圆角的: 我们再来看看如何在storyboard或xib中给按钮设置圆角: 1.在storyboard或xib中添加按钮后,设置标题和背景色,做好约束: 2.点击 S ...

  2. 将控件画成圆角的效果(Delphi)

    最近在做一个Delphi的项目,常常要设计软件的界面,需要将控件画成圆角矩形.在Delphi中将控件画成圆角效果,可使用CreateRoundRectRgn函数.在此写了一个通用的函数,只要在用到改变 ...

  3. 50个Android开发技巧(12 为控件加入圆角边框)

    控件的圆角边框能够使你的App看起来更美观,事实上实现起来也非常easy. (原文地址:http://blog.csdn.net/vector_yi/article/details/24463025) ...

  4. 工具类(为控件设置圆角) - iOS

    为了便于日常开发效率,因此创建了一些小的工具类便于使用.具体 code 如下:声明: /* 为控件添加边框样式_工具类 */ #import <UIKit/UIKit.h> typedef ...

  5. iOS 在xib或storyboard里为控件添加圆角、外框和外框颜色

    如果要在xib和storyboard里为控件添加圆角和外框宽度,只要这样做就可以 layer.borderWidth     设置外框宽度属性 layer.cornerRadius    设置圆角属性 ...

  6. iOS在xib或storyboard里为控件添加圆角、外框和外框颜色

    如果要在xib和storyboard里为控件添加圆角和外框宽度,只要这样做就可以: layer.borderWidth 设置外框宽度属性 layer.cornerRadius 设置圆角属性 只要为属性 ...

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

    设置控件的圆角和边框效果有两种方式: 1.代码实现: self.myView.layer.masksToBounds = YES; self.myView.layer.cornerRadius = ; ...

  8. 工具类(为控件设置色值) - iOS

    为了便于日常开发效率,因此创建了一些小的工具类便于使用.具体 code 如下:声明: /* 为控件设置色值 */ #import <UIKit/UIKit.h> @interface UI ...

  9. iOS开发UI篇—UITableview控件使用小结

    iOS开发UI篇—UITableview控件使用小结 一.UITableview的使用步骤 UITableview的使用就只有简单的三个步骤: 1.告诉一共有多少组数据 方法:- (NSInteger ...

随机推荐

  1. Hbase学习笔记(安装和基础知识及操作)

    1.Hbase简介 1.面向列的分布式数据库 2. 以HDFS作为文件系统 3. 利用MapReduce处理Hbase中海量数据 4. ZookKeeper作为协调工具 5. sqoop提供Hbase ...

  2. 【暑假】[深入动态规划]UVa 12170 Easy Climb

    UVa 12170 Easy Climb 题目: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=24844 思路:  引别人一 ...

  3. 【转载】va_list 可变参数 简介 va_copy vprintf

    [说明]本文转载自 smart 的文章 http://blog.sina.com.cn/s/blog_590be5290100qhxr.html  及百度百科 va_list是一个宏,由va_star ...

  4. 【noip2012】开车旅行

    题意: 给n个点的海拔h[i](不同点海拔不同) 两点的距离为abs(h[i]-h[j]) 有a.b两人轮流开车(只能往下标大的地方开) a每次会开到里当前点第二近的点 b每次会开到离当前点最近的点( ...

  5. 基于memcached的单机轻量级通用缓存库minicached的实现

    一.前言 之前拜读过淘宝子柳的<淘宝技术这十年>之大作,深知缓存技术在系统优化中起着一个举足轻重的作用.无论是文件系统静态文件,数据库的访问,乃至网络数据的请求,只要是与内存访问速度相差较 ...

  6. 【C语言】- 数据输出-printf( )和putchar( )

    格式化输出函数printf( ) printf( )功能: 向系统指定输出设备按指定的格式输入任意个任意类型的数据,并返回实际输出的字符数.若出错,将返回负数. printf( )使用形式: prin ...

  7. C/S 和 B/S 模式的区别与联系

    如果要比较两种事物之间的相同点和不同点,首先,我们要分别对这两种事物有一个最基本的了解. 一.C/S与B/S的定义 C/S (Client/Server)结构,即大家熟知的客户机和服务器结构.它是软件 ...

  8. 教你50招提升ASP.NET性能(十):减少通过网络发送的数据

    (16)Reduce the data sent across the network 招数16: 减少通过网络发送的数据 Reducing the amount of data sent acros ...

  9. 08重编终极版《东邪西毒:终极版》DVD粤语中字

    1.东邪西毒].Ashes.of.Time.1994.384p.DVDRip.x264.ac3-DTMM.mkv 这个版本最清晰 ,可惜删减了,只有87分钟,粤语,1.4G. 2.东邪西毒(初始版). ...

  10. Xcode repository host is unreachable

    遇到这个错误,首先不要急.按照如下方法即可(如果你的svn地址没有问题的话): url要使用域名,所以映射下 1. 修改host:在应用程序里面打开终端(terminal),输入 sudo vi /e ...