2017-09-26 2 views
0

Je n'arrive pas à ajouter une sous-vue à une vue. La variable de progression est définie dans viewDidLoad() de son contrôleur de vue. La taille de la frame d'avancement est correctement définie, il suffit d'ajouter la sous-vue qui semble aller mal. Une idée sur ce qui manque?Swift: Ajout d'une sous-vue à une autre sous-vue

class ProgressBar: UIView { 
    var progressView = UIView() 
    var progress: CGFloat? { 
     didSet { 
      setProgressBar(progress: progress!) 
     } 
    } 

    func setProgressBar(progress: CGFloat) { 
     self.layer.masksToBounds = true 
     let progressViewWidth: CGFloat = self.frame.width * progress 
     progressView.backgroundColor = .red 
     progressView.frame = CGRect(origin: frame.origin, 
            size: CGSize(width: progressViewWidth, height: frame.height)) 
     self.addSubview(progressView) 
    } 
} 

Répondre

2
progressView.frame = CGRect(origin: frame.origin, size: CGSize(width: progressViewWidth, height: frame.height)) 

Il devrait être remplacé comme

progressView.frame = CGRect(origin: CGPoint.zero, size: CGSize(width: progressViewWidth, height: frame.height)) 

La position de progressView est liée à progressBar de