我不知道如何在drawRect方法中绘制角点抓取指示器。这是mycode:
- (void)drawRect:(CGRect)rect{
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetStrokeColorWithColor(context, [UIColor whiteColor].CGColor);
CGContextSetLineWidth(context, 0.8f);
CGFloat colX1 = CGRectGetMaxX(rect)/3.0;
CGFloat colX2 = 2*colX1;
CGFloat rowY1 = CGRectGetMaxY(rect)/3.0;
CGFloat rowY2 = 2*rowY1;
CGContextBeginPath(context);
CGContextMoveToPoint(context, colX1, CGRectGetMinY(rect));
CGContextAddLineToPoint(context, colX1, CGRectGetMaxY(rect));
CGContextMoveToPoint(context, colX2, CGRectGetMinY(rect));
CGContextAddLineToPoint(context, colX2, CGRectGetMaxY(rect));
CGContextMoveToPoint(context, CGRectGetMinX(rect),rowY1);
CGContextAddLineToPoint(context, CGRectGetMaxX(rect),rowY1);
CGContextMoveToPoint(context, CGRectGetMinX(rect),rowY2);
CGContextAddLineToPoint(context,CGRectGetMaxX(rect),rowY2);
CGContextStrokePath(context);}
并在init方法中:
CATiledLayer *tiledLayer = (CATiledLayer *)[self layer];
tiledLayer.levelsOfDetail = 4;
self.layer.borderColor = [UIColor whiteColor].CGColor;
self.layer.borderWidth = 1.5;
我的截图是:
我想知道如何绘制我的视图:
我真的很想知道绘制角落抓取指标的代码。
提前致谢!
答案 0 :(得分:3)
角落只是8个额外的线条,只是绘制在您正在绘制的框的外部。将您的盒子稍微插入并在框架的角落处绘制它们。在这种情况下,您需要绘制外部框而不是使用borderWidth
。但这只是CGContextMoveToPoint
/ CGContextAddLineToPoint
次呼叫。您似乎已经了解了所需的所有工具。
编辑顺便说一句,如果仔细查看发布的图片,您会注意到边框实际上是由黑白像素构成的。他们可能已绘制宽度为2的白色边框,然后返回并沿边缘绘制4条黑色线条。这可能更容易画出来。
答案 1 :(得分:0)
您可以通过一个技巧绘制这种类型 - 设计一个与第二个屏幕截图相同的图像。用这个图像创建一个图层并放在上面。
这个很简单,我认为。