zoukankan      html  css  js  c++  java
  • button设置边框遇到的问题

    最近有个需求,自己搞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];

     

  • 相关阅读:
    Freemarker list的使用
    Java通过流对MP4视频文件进行加密,H5 video播放流
    阿里云API公共参数的获取
    javah找不到类文件
    Java调用打印机打印指定路径图片
    Java绘制图片并进行合成
    Java生成二维码和解析二维码URL
    计算机网络第六版知识大纲
    Linux安装mysql mysql5.5.40 <NIOT>
    rsync unison+inotify双向实时同步
  • 原文地址:https://www.cnblogs.com/Peterahan/p/2931953.html
Copyright © 2011-2022 走看看