zoukankan      html  css  js  c++  java
  • IOS 给一个文本框,按钮,view加虚线边框

    怎么给IOS视图控件加上一层虚线边框  还是可以根据控件大小来定呢?

    应用场景: 一个文本textField跟要据文字大小来改变自己的大小。  边框为虚线边框。

         这时候大家可能考虑到的是 做一个虚线背景 然后拉伸后做为textField的边框。

         想法很好,但出现的总是是, 在拉伸的那个点,正好是白色 或 者黑色的时候  就是有总是的。  白色拉伸后一长条全是白的 黑色也如此

    这时候在考虑的就是 能不能实时画一个虚线背景图 实时设置textField的背景呢。

    答案是可以的。 

    我也在网上找了一些相关的资料 发现零零散散的也这方面的东西 但没有人贴出一个完整可用的解决方案

    因此 我写了一个UIImage的分类。  可以直接调用一下 就可以直接使用了。

    代码:

    + (UIImage*)imageWithSize:(CGSize)size borderColor:(UIColor *)color borderWidth:(CGFloat)borderWidth
    {
        UIGraphicsBeginImageContextWithOptions(size, NO, 0.0);   
        [[UIColor clearColor] set];
        CGContextRef context = UIGraphicsGetCurrentContext();
        CGContextBeginPath(context);
        CGContextSetLineWidth(context, borderWidth);
        CGContextSetStrokeColorWithColor(context, color.CGColor);
        CGFloat lengths[] = { 3, 1 };
        CGContextSetLineDash(context, 0, lengths, 1);
        CGContextMoveToPoint(context, 0.0, 0.0);
        CGContextAddLineToPoint(context, size.width, 0.0);
        CGContextAddLineToPoint(context, size.width, size.height);
        CGContextAddLineToPoint(context, 0, size.height);
        CGContextAddLineToPoint(context, 0.0, 0.0);
        CGContextStrokePath(context);
        UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        return image;
    }

    这是方法的实现。 第一个参数为 需要虚线边框视图的大小, 第二个为 边框颜色, 第三个为 边框粗细。

    创建为UIImage的分类的话 直接可以用UIImage 来调用 非常方便。

     
     原创文章,转载请注明出处!
     
  • 相关阅读:
    戴德金分割第6页
    自己总结的学习方法
    自己总结的选股方法和建仓方法
    自编通达信公式集合
    电脑目录设置
    1·0天内跳空缺口的公式
    springsecurity
    java开发 日志框架选择
    javaFramwork title
    idea git忽略文件
  • 原文地址:https://www.cnblogs.com/deng1989/p/4749674.html
Copyright © 2011-2022 走看看