0

ココアでネイティブにハイライトと4面以外の境界線を描画するにはどうすればよいですか?

例は下の画像です。上部に小さな1pxの白い内側の境界線があり、下部に灰色の1pxの内側の境界線があります。ビューの上部と下部にのみ濃い灰色の境界線もあります。

これはネイティブに実行できますか?または、これには画像が必要ですか?

ここに画像の説明を入力してください

4

1 に答える 1

3

内側の境界線を取得する簡単な方法は、境界線を付けるビューからレイヤーのシャドウプロパティを使用することです(境界線をエッジの内側に配置する-1に注意してください)。

myView.layer.shadowOpacity = 1.0;
myView.layer.shadowColor = [UIColor blackColor].CGColor;
myView.layer.shadowOffset = CGSizeMake( 0, -1 );

それ以外の場合は、ビューをサブクラス化して、drawRect:メソッドに次のようなものを配置できます。

[super drawRect: rect];

CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState( context );
CGContextSetStrokeColorWithColor( context, [UIColor blackColor].CGColor );
CGContextSetLineWidth( context,  1.0 );

CGContextMoveToPoint( context, 0, 0 );

CGContextAddLineToPoint( context,  self.bounds.size.width, 0 );
CGContextStrokePath( context );        

CGContextRestoreGState( context );
于 2012-08-30T22:35:08.427 に答える