2015-10-19 3 views

ответ

3
func drawSliceInView(view: UIView, startAngle: CGFloat, endAngle: CGFloat, radius: CGFloat) 
{ 
    let centerPoint = CGPoint(x: view.frame.size.width/2, y: view.frame.size.width/2) 
    let startValue = (startAngle * 2 * CGFloat(M_PI))/360 - CGFloat(M_PI_2) 
    let endValue = (endAngle * 2 * CGFloat(M_PI))/360 - CGFloat(M_PI_2) 

    let path = UIBezierPath(arcCenter: centerPoint, radius: radius, startAngle: startValue, endAngle: endValue, clockwise: true) 
    path.addLineToPoint(centerPoint) 
    path.closePath() 

    let sliceLayer = CAShapeLayer() 
    sliceLayer.path = path.CGPath 
    sliceLayer.fillColor = UIColor.blueColor().CGColor 
    sliceLayer.backgroundColor = nil 
    sliceLayer.strokeColor = UIColor.whiteColor().CGColor 
    sliceLayer.lineWidth = 2.0 

    view.layer.addSublayer(sliceLayer) 
} 

Пример использования:

drawSliceInView(self.view, startAngle: -30, endAngle: 90, radius: 50) 
drawSliceInView(self.view, startAngle: 90, endAngle: 210, radius: 50) 

+0

Действительно поблагодарить you.How увеличить размер формы .Потому что вместо представления я хочу изменить изображение в t его форма – Lydia

+1

@Lydia, измените значение радиуса. – ifau

+0

См. Отредактированный вопрос. Пожалуйста, дайте мне знать, как это сделать. – Lydia

Смежные вопросы