博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
button设置边框遇到的问题
阅读量:4876 次
发布时间:2019-06-11

本文共 1211 字,大约阅读时间需要 4 分钟。

最近有个需求,自己搞button,不用图片了

button边框的设置,貌似用UIColor转的CGColor不行,有些比如灰色直接变成透明,只能转黑色,绿色等标准色。

这里用自己的色生成CGColor了:

        CGFloat r = (CGFloat) 212/255.0;

        CGFloat g = (CGFloat) 212/255.0;

        CGFloat b = (CGFloat) 212/255.0;

        CGFloat a = (CGFloat) 1.0;

        CGFloat components[4] = {r,g,b,a};

        CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();

        CGColorRef backgroundColor = (CGColorRef)[(id)CGColorCreate(colorSpace, components) autorelease];

        CGColorSpaceRelease(colorSpace);

        [button.layer setBorderColor:backgroundColor];

 

另外一个问题,由于没有图片,设置按下效果的时候,直接设置background不行。因此用了个曲线的方法:使用UIColor自己生成 UIImage

+ (UIImage *) createImageWithColor: (UIColor *) color

{

    CGRect rect=CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);

    UIGraphicsBeginImageContext(rect.size);

    CGContextRef context = UIGraphicsGetCurrentContext();

    CGContextSetFillColorWithColor(context, [color CGColor]);

    CGContextFillRect(context, rect);

    

    UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return theImage;

}

调用的时候,这样就可以了,也可以自己生成highlight的图片:      

        UIImage *img = [UIImagecreateImageWithColor:[UIColorwhiteColor]];

        [button  setBackgroundImage:img forState:UIControlStateNormal];

 

转载于:https://www.cnblogs.com/Peterahan/archive/2013/02/25/2931953.html

你可能感兴趣的文章
shell 示例1 从1叠加到100
查看>>
IE慢吗?
查看>>
python库函数Map, Filter and Reduce的用法
查看>>
猖獗的假新闻:2017年1月1日起iOS的APP必须使用HTTPS
查看>>
MongoDB实战性能优化
查看>>
ADO.NET Entity Framework 4.1 中的代码优先
查看>>
用 Gearman 分发 PHP 应用程序的工作负载
查看>>
CENTOS 6 通过YUM升级GCC到4.7/4.8
查看>>
easyui-tree绑定数据的几种方式
查看>>
【Android】Fresco 初次使用遇到的坑
查看>>
接口自动化第二阶段代码
查看>>
hdoj3001 travelling 状态dp tsp
查看>>
C语言博客作业02--循环结构
查看>>
Android Bitmap和Canvas学习笔记
查看>>
移动顿兼容以及测试常用网站
查看>>
Javascript通过className选择元素
查看>>
关于MySQL 通用查询日志和慢查询日志分析(转)
查看>>
自动化测试框架的搭建
查看>>
小学期--第三篇
查看>>
HDOJ 1864 最大报销额
查看>>