美文网首页iOS 细碎iOS DeveloperiOS 开发
ios中使用storyboard或者Xib给View设置边框属性

ios中使用storyboard或者Xib给View设置边框属性

作者: 单腿行走的大象 | 来源:发表于2016-04-07 16:09 被阅读7769次

很多技术人员习惯于用纯代码设置Button或者其他View的边框属性,

eg: UIView* view = [[UIView alloc]init];

     view.layer.borderWidth=2.0;

     view.layer.cornerRadius=5.0;

     view.layer.borderColor= [UIColorredColor].CGColor;

但是现在也有相当一部分人喜欢在自定义控件的时候,使用Xib,或者用sb来进行布局,那么这时候怎么来使用storyboard或者Xib给View设置边框属性就无从下手了,接下来提供的解决方法希望能给予大家帮助.

通过storyboard的运行时属性runtime attribute,可以对Button设置圆角,边框和边框颜色.(xib同理)

找到设置运行时属性的地方

layer.borderWidth和layer.conerRadius可以顺利的设置成功,但是边框的颜色不一定好使,这时候需要给layer添加一个分类.

然后在你的分类.h文件中添加一个属性

在分类的.m文件中实现如下方法

其实这里添加一个分类的作用就是把你设置的UIColor转化为CGColor

最后设置好你的边框宽度,颜色,圆角.就可以愉快的玩耍了

如果你要设置某一控件的圆角就不建议使用layer来设置了,因为使用图层过量会有卡顿现象, 特别是弄圆角或者阴影会很卡, 如果设置图片圆角我们一般用绘图来做:

- (UIImage *)obtainCircleImage {

UIGraphicsBeginImageContextWithOptions(self.size, NO, 0.0);

// 获取上下文

CGContextRef ref = UIGraphicsGetCurrentContext();

// 设置圆形

CGRect rect = CGRectMake(0, 0, self.size.width, self.size.height);

CGContextAddEllipseInRect(ref, rect);

// 裁剪

CGContextClip(ref);

// 将图片画上去

[self drawInRect:rect];

UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return image;

}

这个方法就是设置圆角图片, 效率很高, 不会造成卡顿现象, 大家要把这个方法单独放到分类中使用.

相关文章

网友评论

  • zyl_细嗅蔷薇:为什么我的不显示 颜色呢 :scream:
  • Comedy_G:不知所云,不用runtime你是怎么在分类里加上属性的
    单腿行走的大象:用的就是运行时属性修改的啊 老铁
  • 杨奇:为什么我的边框出不来:scream::scream:
    单腿行走的大象:@杨奇丶 边框效果不显示,因为你没给他设置边框颜色吧,分类你写好了吗
    杨奇:@单腿行走的大象 圆角效果出来了,但是边框和颜色出不来,属性也没有变动,检查了好几次找不出。:sweat:,兄台遇到过么。
    单腿行走的大象:@杨奇丶 纳尼?你在仔细观察一下,设置那块,那里你设置的属性容易变动
  • 64e627e6c487:新建Category的.h文件里,我需要导入UIKit后才能写出UIColor属性。。。
    64e627e6c487:@单腿行走的大象 我的需要:disappointed_relieved:
    单腿行走的大象:@岳飞dragon .h不需要啊,上述就是我自己的代码
  • 单腿行走的大象:喜欢就点个赞 :relaxed:

本文标题:ios中使用storyboard或者Xib给View设置边框属性

本文链接:https://www.haomeiwen.com/subject/mnomlttx.html