Xib、Nib、Storyboard下修改控件边框颜色、大小、圆角

问题:

今天有一个页面有很多uibutton,所以就用xib搭了界面,然后问题来了,如何在xib下修改控件的边框颜色和大小、圆角?我之前知道利用IB面板下的“UserDefined Runtime Attributes”(如下图),然后问题来了,设置圆角可以成功设置,但是设置uibutton的边框颜色不行。然后一直百度找到的方法都是跟我的做法一样,而且不行,然后想到我可以Google,好吧,第一条就出来答案了····

IB 下UserDefined Runtime Attributes 面板

原因:

找到原因在于borderColor接受的参数是CGColor类型,而此处的Color为UIColor,所以导致注入时参数类型不一致

解决方法:

自定义一个CALayer类别,然后使用这个属性

//CALayer+RumtimeAttribute.h

#import

@interfaceCALayer (RumtimeAttribute)

@property(nonatomic,assign)UIColor* borderIBColor;

@end

//CALayer+RumtimeAttribute.m

#import"CALayer+RumtimeAttribute.h"

@implementationCALayer (RumtimeAttribute)

- (void)setBorderIBColor:(UIColor*)borderIBColor

{

self.borderColor= borderIBColor.CGColor;

}

- (UIColor*)borderIBColor

{

return[UIColor colorWithCGColor:self.borderColor];

}

@end

自定义的时候要注意borderIBColor属性的setter和getter方法的内容不要错了,然后可以完美运行

扩展:在swift 2.0可以用一下方法(我没有试)

import Foundation

extension CALayer{

//解决IB中runtime attribute中layer.borderColor不能转换UIColor为CGColor

var borderColorFromUIColor:UIColor{

set(color){

self.borderColor = color.CGColor;

}

get{

returnUIColor(CGColor:self.borderColor)

}

}

}

最后感谢大神们:Is it possible to set UIView border properties from interface builder? Expanding User-Defined Runtime Attributes in Xcode with Objective-C

这里有比较有意思的扩展哦,有兴趣的可以看看  Xcode6快捷键、小技巧与xib圆角设置

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小白课代表

看书必备!安卓+iOS 看小说神器!!

iOS端的看书APP下架了一个又一个,真是不容易,安卓端也是良莠不齐,名气最大的追书神器也转向正版,当然,破解版除外。

1845
来自专栏熊二哥

快速入门系列--MVC--07与HTML5移动开发的结合

    现在移动互联网的盛行,跨平台并兼容不同设备的HTML5越来越盛行,很多公司都在将自己过去的非HTML5网站应用渐进式的转化为HTML5应用,使得一套代码...

20510
来自专栏安富莱嵌入式技术分享

【安富莱二代示波器教程】第5章 示波器设计—波形快速刷新方案

波形快速刷新有很多方案需要测试,由于我们的GUI是采用的emWin,所以下面的这些测试都是基于emWin实现的。

812
来自专栏张善友的专栏

強大的jQuery Chart组件-Highcharts

Highcharts是一个制作图表的纯Javascript类库,主要特性如下: 兼容性:兼容当今所有的浏览器,包括iPhone、IE和火狐等等; 对个人用户完全...

2145
来自专栏知道一点点

eharts入门篇一

从官网下载界面选择你需要的版本下载,根据开发者功能和体积上的需求,我们提供了不同打包的下载,如果你在体积上没有要求,可以直接下载完整版本。

874
来自专栏游戏杂谈

React Native入门遇到的一些问题

curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C/usr/...

524
来自专栏SimpleAI

【内容引起舒适】让你的Jupyter Notebook不再辣眼睛

当时觉得jupyter notebook难看的时候,我就寻思有没有大神做过某些工具来更改样式,毕竟肯定不止我一个人觉得丑,程序员越牛逼,往往Ta就越挑剔。果不其...

721
来自专栏青玉伏案

PHP中AJAX的使用(完整实例【大牛可飘过】)

  有一段时间不写关于AJAX的东西了,最近和同学参加个比赛,要做一个类似博客的东西,用到了AJAX的东西,在写东西之前为了再熟悉一下AJAX,自己做了个关于A...

1678
来自专栏Youngxj

博客彩虹友链源码

1285
来自专栏iOS开发攻城狮的集散地

iOS开源小项目-WSL

2356

扫码关注云+社区