Я пытаюсь нарисовать прямоугольник на ощупь. До сих пор у меня есть две части кода, первый - метод, который в настоящее время рисует круг, вторая часть кода добавляет форму для просмотра, как я рисую прямоугольник вместо этого?Swift draw rectangle
func drawRectangle() {
// Get the Graphics Context
let context = UIGraphicsGetCurrentContext();
// Set the rectangle outerline-width
CGContextSetLineWidth(context, 5.0);
// Set the rectangle outerline-colour
UIColor.redColor().set()
// Create Rectangle
CGContextAddArc(context, (frame.size.width)/2, frame.size.height/2, (frame.size.width - 10)/2, 0.0, CGFloat(M_PI * 2.0), 1)
// Draw
CGContextStrokePath(context);
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
let rectangleCenter = touches.first!.locationInView(view)
let rectangleWidth = CGFloat(50)
let rectangleHeight = rectangleWidth
// Create a new rectangleView
let rectangleView = Annotations(frame: CGRectMake(rectangleCenter.x, rectangleCenter.y, rectangleWidth, rectangleHeight), shape: 1)
view.addSubview(rectangleView)
}
Я попытался следующие:
// Create Rectangle
CGContextAddRect(context, CGRectMake((frame.size.width)/2, frame.size.height/2, 40, 40));
создает часть верхней левой части прямоугольника с линией сверху и линией вниз слева. Как настроить это как полный прямоугольник?
Если вы посмотрите CGContextAddArc в ссылка CGContext, тогда CGContextAddRect не за горами ... :) –
Привет, Мартин R, я попробовал CGContextAddRect, он дает мне половину прямоугольника – user979331
Тогда вы создаете съел неправильный прямоугольник. Первые два параметра CGRectMake - это начало (верхний левый угол), а не середина. –