5

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

4

3 回答 3

10

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

于 2013-10-23T17:21:38.607 回答
3

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

于 2014-09-22T18:23:59.697 回答
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);
}
于 2013-10-23T19:39:44.750 回答