2

これです:

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(x, y, width, 1)];
view.backgroundColor = [UIColor whiteColor];
view.alpha = 0.1;

またはこれ:

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(x, y, width, 1)];
view.backgroundColor = [UIColor colorWithWhite:1.0 alpha:0.1];

または、3番目の選択肢はありますか?画像でUIImageViewを使用していますか? CoreGraphics でカスタム描画を行っていますか? 何が最速であると考えられていますか?

4

1 に答える 1

1

最も速い方法は、CALayer を作成することです。これを使用すると、必要に応じて色/不透明度を簡単に変更できます。

CALayer *line = [CALayer new];
line.frame = CGRectMake(x, y, width, 1.0);
line.backgroundColor = [[UIColor whiteColor] colorWithAlphaComponent:0.1].CGColor;
[someView.layer addSublayer:line];

既存のビューに直接線を描画し、変更せずにそこにとどめたい場合は、既存のビューの drawRect: メソッドに次のコードを追加できます。

CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetStrokeColorWithColor(context, [[UIColor whiteColor] colorWithAlphaComponent:0.1].CGColor);
CGContextSetLineWidth(context, 1.0);
CGContextMoveToPoint(context, x, y);
CGContextAddLineToPoint(context, x + width, y);
CGContextStrokePath(context);
于 2012-12-04T22:54:30.660 に答える