I have a triangle solver, I want a way to use the values I get from the answer to draw a triangle to the screen that matches it.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
If you subclass a UIView you can implement something like this in drawRect to draw a triangle:
-(void)drawRect:(CGRect)rect { CGContextRef ctx = UIGraphicsGetCurrentContext(); CGContextBeginPath(ctx); CGContextMoveToPoint (ctx, CGRectGetMinX(rect), CGRectGetMinY(rect)); // top left CGContextAddLineToPoint(ctx, CGRectGetMaxX(rect), CGRectGetMidY(rect)); // mid right CGContextAddLineToPoint(ctx, CGRectGetMinX(rect), CGRectGetMaxY(rect)); // bottom left CGContextClosePath(ctx); CGContextSetRGBFillColor(ctx, 1, 1, 0, 1); CGContextFillPath(ctx); }
回答2:
Swift 3 equivalent for progrmr
's answer:
override func draw(_ rect: CGRect) { guard let context = UIGraphicsGetCurrentContext() else { return } context.beginPath() context.move(to: CGPoint(x: rect.minX, y: rect.minY)) context.addLine(to: CGPoint(x: rect.maxX, y: rect.midY)) context.addLine(to: CGPoint(x: (rect.minX), y: rect.maxY)) context.closePath() context.setFillColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0) context.fillPath() }
回答3:
- (void)drawRect:(CGRect)rect { CGContextRef ctx = UIGraphicsGetCurrentContext(); CGContextClearRect(ctx, rect); // Draw a triangle CGContextSetRGBFillColor(ctx, 255, 160, 122, 1); CGContextBeginPath(ctx); CGContextMoveToPoint (ctx, 290, 35); // top CGContextAddLineToPoint(ctx, 350, 165); // right CGContextAddLineToPoint(ctx, 230,165); // left CGContextClosePath(ctx); CGContextSetRGBFillColor(ctx, 1, 1, 1, 1); CGContextFillPath(ctx); }