[iOS]创建单一像素的分割线

来源:互联网 发布:图书销售软件 编辑:程序博客网 时间:2024/05/21 06:19

直接上代码

Object-C :

/** *  生产一个 1像素的线 * *  @param origin     线的起始位置(传入的点后面不要带小数) *  @param length     线的长度 *  @param isVertical 线的方向是否是垂直的 *  @param color      线的颜色 * *  @return 返回这根线 */- (UIView *)productSimplePixelLineViewWithOrigin:(CGPoint)origin length:(CGFloat)length isVertical:(BOOL)isVertical color:(UIColor *)color {    CGFloat width = 1/[UIScreen mainScreen].scale;    CGFloat offset = ((1/[UIScreen mainScreen].scale)/2);        UIView *view;    if (isVertical) {   // 垂直的线        view = [[UIView alloc] initWithFrame:CGRectMake(ceil(origin.x) - offset, origin.y, width, length)];    }    else {  // 水平的线        view = [[UIView alloc] initWithFrame:CGRectMake(origin.x, ceil(origin.y) - offset, length, width)];    }    view.backgroundColor = color;    return view;}



Swift : 

/**生产一个 1像素的线:param: origin     线的起始位置(传入的点后面不要带小数):param: length     线的长度:param: isVertical 线的方向是否是垂直的(默认是垂直的):param: color      线的颜色(默认是UITableViewCell 的分割线的颜色):returns: <span style="font-family: Arial, Helvetica, sans-serif;">返回这根线</span>*/func productSimplePixelLineView(origin: CGPoint, length: CGFloat, isVertical: Bool = true, color: UIColor = UIColor(red: 200/255.0, green: 199/255.0, blue: 204/255.0, alpha: 1.0)) -> UIView {    let width = 1/UIScreen.mainScreen().scale    let offset = ((1/UIScreen.mainScreen().scale)/2);        let view = { () -> UIView in        if isVertical {            return UIView(frame: CGRect(x: ceil(origin.x) - offset, y: origin.y, width: width, height: length))        }        else {            return UIView(frame: CGRect(x: origin.x, y: ceil(origin.y) - offset, width: length, height: width))        }    }()    view.backgroundColor = color    return view}



0 0
原创粉丝点击