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 に答える