2009-08-20 7 views
3

코코아 앱에 수직 진행률 표시 줄을 만들려고합니다. 즉, 진행률 막대가 아래에서 위로 증가해야합니다. NSProgressIndicator를 사용하고 있는데 세로 또는 가로를 지정하는 방법을 찾을 수 없습니다. 아무도 그것을 할 수 있는지 말해 줄 수 있습니까?코코아에서 수직 진행 바를 만드는 방법은 무엇입니까?

감사합니다, 리

답변

3

당신은이 PI/2 라디안 (90도) 회전 제어의 변환을 설정할 수 있습니다. 그것은 대부분의 사람들이 취하는 일반적인 해결책 인 것 같습니다.

+1

감사합니다, 그것은했다! –

0

수입 UIKit

클래스의 ViewController :의 UIViewController {

// THis is custom Progress view 
var progessView:VerticalProgressView! 

// We can also use default progress view given by UIKIT 
var defaultProgressView:UIProgressView! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Custom Progress view 
    progessView = VerticalProgressView(frame: CGRect(x: 0, y: 160, width: 15, height: 200)) 
    progessView.center.x = self.view.center.x - 80 
    self.view.addSubview(progessView) 

    //Default Progress view 
    defaultProgressView = UIProgressView(progressViewStyle: .bar) 
    self.view.addSubview(defaultProgressView) 
} 

override func viewDidLayoutSubviews() { 

    defaultProgressView.frame = CGRect(x: self.view.center.x + 30, y: 300, width: 100, height: 300) 
    defaultProgressView.progressTintColor = UIColor.green 
    defaultProgressView.backgroundColor = UIColor.clear 
    defaultProgressView.layer.borderWidth = 0.3 
    //defaultProgressView.layer.borderColor = [UIColor.redColor] 

    // Change the width of default Progress view 
    let customWidth = CGAffineTransform(scaleX: 5.0, y: 3.0) 
    // Transform from default horizontal to vertical 
    let rotate = CGAffineTransform(rotationAngle: (CGFloat.pi/2 + CGFloat.pi)) 

    //Two transforms should be concated and applied 
    defaultProgressView.transform = rotate.concatenating(customWidth) 

} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 


override func viewDidAppear(_ animated: Bool) { 
    super.viewDidAppear(animated) 
    self.progessView.setProgress(progress: 0.50, animated: true) 
    UIView.animate(withDuration: 0.95) { 
     self.defaultProgressView.setProgress(0.50, animated: true) 
    } 
} 

}

관련 문제