1
내 앱에 순환 진행 표시 줄이 있는데 잘 작동하는 것 같습니다. 그러나 어떤 이유로 나는 진행률 표시 줄을 축소 할 수 없습니다.진행률 표시 줄을 0 %로 재설정 할 수 없습니다.
기본적으로이 기능은 지출 한 사용자 예산의 비율을 표시하는 것입니다. 그러나 사용자는 또한 신용 거래를 추가 할 수 있습니다. 물론 신용 거래는 총 예산이 증가했기 때문에 진행률 표시 줄을 줄이려고합니다. 그러나 이렇게하지 않는 것 같습니다. 또한 예산이 재설정되면 작동하지 않는 0 %로 재설정해야합니다.
progress = 0.00
이 진행이 계산 방법은 다음과 같습니다 :
percent = 100*totalSpendingsCounter/(currencyDouble + totalCreditCounter)
let nf = NSNumberFormatter()
nf.numberStyle = .DecimalStyle
if percent > 100 {
percentageDisplay.text = "100%"
} else {
var percentString = nf.stringFromNumber(percent) + "%"
percentageDisplay.text = percentString
}
progress = CGFloat(percent/100)
var progress: CGFloat = 0
class ProgressCircle: UIView {
override func drawRect(rect: CGRect) {
var ctx = UIGraphicsGetCurrentContext()
var innerRadiusRatio: CGFloat = 0.6
var path: CGMutablePathRef = CGPathCreateMutable()
var startAngle: CGFloat = CGFloat(-M_PI_2)
var endAngle: CGFloat = CGFloat(-M_PI_2) + min(1.0, progress) * CGFloat(M_PI * 2)
var outerRadius: CGFloat = CGRectGetWidth(self.bounds) * 0.5 - 1.0
var innerRadius: CGFloat = outerRadius * innerRadiusRatio
var center = CGPointMake(CGRectGetMidX(rect), CGRectGetMidY(rect))
CGPathAddArc(path, nil, center.x, center.y, innerRadius, startAngle, endAngle, false)
CGPathAddArc(path, nil, center.x, center.y, outerRadius, endAngle, startAngle, true)
CGPathCloseSubpath(path)
CGContextAddPath(ctx, path)
CGContextSaveGState(ctx)
CGContextClip(ctx)
CGContextDrawImage(ctx, self.bounds, UIImage(named: "RadialProgressFill").CGImage)
CGContextRestoreGState(ctx)
}
이 내가 현재 재설정하려고하는 방법이다 : 여기
는 진행 원 코드입니다아이디어가 있으십니까?
아, setNeedsDisplay() 함수는 어떻게해야합니까? – user3746428
UIView에 기본 제공되는 기본 제공 메서드입니다. 그것은 자신을 다시 그려야한다는 견해를 말해줍니다. –
아, 알겠습니다. 고마워. – user3746428