2017-06-15 10 views
1

J'ai UIProgressView et je veux définir son rayon de coin et transformer mais le rayon d'angle ne fonctionne pas comme il se doit.Définir le rayon d'angle après le réglage Transformer ou travailler IOS

Mon code Xamarin.ios:

UIProgressView progressView = new UIProgressView(newFrame) 
      {    
       //Set background track color = gray 
       TrackTintColor = CustomColors.CustomColors.GetColor(CustomColors.CustomColors.ColorGray), 

       //Set progress track color = blue 
       ProgressTintColor = CustomColors.CustomColors.GetColor(CustomColors.CustomColors.ColorBlue) 
      }; 

      //Set Y scale 
      progressView.Transform = CGAffineTransform.Scale(progressView.Transform, 1, 20f); 

      progressView.Layer.CornerRadius = 15f; 

      progressView.Layer.MasksToBounds = true; 

      progressView.ClipsToBounds = true; 

progressView:

enter image description here

Répondre

1

Malheureusement, je ne pouvais pas trouver un moyen de le réparer car le CornerRadius ne fonctionne pas correctement après CGAffineTransform .Échelle.

Une autre astuce consiste à définir TrackImage et ProgressImage personnalisés, puis créer CGAffineTransform.Scale.

0

Cela ressemble à une transformation qui n'est pas une identité. Essayez d'implémenter l'animation avec position/bounds et cornerRadius.

+0

C'est juste un commentaire, de mauvaise qualité. – Billa

+0

J'ai rencontré le même problème et l'ai résolu avec la méthode ci-dessus. – numbbuaa