在UiView上设计水平线

时间:2013-10-23 17:13:50

标签: ios uiview line

任何人都可以告诉我你是如何通过代码或其他方法在UIView上绘制水平线的?我需要这一行来创建一个分隔符 谢谢大家

3 个答案:

答案 0 :(得分:9)

最简单的方法可能是创建一个UIView,其中包含您希望分隔符具有的高度,宽度和颜色,并使其成为相关视图的子视图。换句话说,制作1或2磅高的UIView并将其用作分隔符。使用约束定位或手动设置其框架。

答案 1 :(得分:3)

或者,添加UILabel并将文本设置为----------或 ______ 或========或任何看起来不错的内容。您可以通过设置文本颜色来设置字体或颜色来调整厚度和样式。确保将换行符设置为“clip”(NSLineBreakByClipping),否则如果输入的字符多于标签可以显示的字符,则可能会以省略号(...)结束。

答案 2 :(得分:1)

您可以覆盖UIView的drawRect:方法,在视图底部绘制1像素笔划以充当分隔符。

- (void)drawRect:(CGRrect)rect
{
    CGContextRef context = UIGraphicsGetCurrentContext();

    CGPoint startPoint = CGPointMake(rect.origin.x, rect.origin.y + rect.size.height - 1);
    CGPoint endPoint   = CGPointMake(rect.origin.x + rect.size.width - 1, rect.origin.y + rect.size.height - 1);

    CGContextSaveState(context);
    CGContextSetLineCap(context, kCGLineCapSquare);
    CGContextSetStrokeColorWithColor(context, UIColor.CGColor);
    CGContextSetLineWidth(context, 1.0); // Set the line width here
    CGContextMoveToPoint(context, startPoint.x + 0.5, startPoint.y + 0.5);
    CGContextAddLineToPoint(context, endPoint.x + 0.5, startPoint.y + 0.5);
    CGContextStrokePath(context);
    CGContextRestoreState(context);
}