iOS上是否可以使用从右到左的进度条?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS上是否可以使用从右到左的进度条?相关的知识,希望对你有一定的参考价值。

我试过发送[UIProgressView setProgress]负值,但这不起作用。

有没有其他方法来获得从右端填充的进度条?

答案

您可以尝试将transformUIProgressView属性设置为新的CGAffineTransform,将视图旋转180度并垂直翻转(以保持“光泽”)(请参阅CGAffineTransformMake()CGAffineTransformRotate())。

有点像:

UIProgressView *pv = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleBar];
pv.frame = CGRectMake(10, 100, 300, 11);
CGAffineTransform transform = CGAffineTransformMake(1, 0, 0, -1, 0, pv.frame.size.height); // Flip view vertically
transform = CGAffineTransformRotate(transform, M_PI); //Rotation angle is in radians
pv.transform = transform;
pv.progress = 0.5;
另一答案

你可以旋转UIProgressView

progressView.transform = CGAffineTransformMakeRotation(DegreesToRadians(180));

其中DegreesToRadians是:

#define DegreesToRadians(d) ((d) * M_PI / 180.0)

要更改进度值,请使用正数。

另一答案

更简单的版本是水平翻转它。

progressView.transform = CGAffineTransformMakeScale(-1.0f, 1.0f);
另一答案

您可以将视图旋转180°:

progressView.transform = CGAffineTransformMakeRotation(-M_PI);
另一答案

在带故事板的ios 7中,您可以将“渐变色调”设置为“轨迹色调”,反之亦然,然后从1中减去常规值并将其设置为当前进度。可能更好地做另一种(旋转)方式,但我想我会把它扔出去。

另一答案

快速回答:

progressView.transform = CGAffineTransform(rotationAngle: .pi)

以上是关于iOS上是否可以使用从右到左的进度条?的主要内容,如果未能解决你的问题,请参考以下文章

UIPageViewController:从右到左的语言反转 .scroll 动画方向

Python中从右到左的语言

透明度和从右到左的支持

UINavigationController 覆盖从右到左的推送显示黑色背景

R中从右到左的运算符关联性是不是可能?

Android:如何处理从右到左的滑动手势