设置“变换”和“工作IOS”后设置“角半径”

时间:2017-06-15 13:53:10

标签: ios transform uiprogressview cornerradius

我有UIProgressView,我想设置它的角半径和变换,但角半径不能正常工作。

我在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

2 个答案:

答案 0 :(得分:1)

不幸的是,由于CornerRadius在CGAffineTransform.Scale之后无法正常工作,我找不到解决方法。

另一个技巧是设置自定义TrackImage和ProgressImage然后制作CGAffineTransform.Scale。

答案 1 :(得分:0)

看起来由于变换不是身份。尝试使用position / bounds和cornerRadius来实现动画。