0

如何在 Cocoa 中本地绘制高光和非 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 回答