progressView的宽高

Posted

技术标签:

【中文标题】progressView的宽高【英文标题】:Width and height of progressView 【发布时间】:2016-07-20 18:25:02 【问题描述】:

如何创建宽度为 100、高度为 200 的 progressView。然后将 progressView 旋转 90 度?

它不能一起工作。 或者progressView转90或者改变大小

self.progressView.transform = CGAffineTransformMakeRotation(M_PI_2);
    CGAffineTransform transform = CGAffineTransformMakeScale(1.0f, 3.0f);
    _progressView.transform = transform;

【问题讨论】:

我用来旋转progresView self.progressView.transform = CGAffineTransformMakeRotation(M_PI_2); 但是progresView的最大高度为50 ***.com/questions/3437564/… 为什么你不接受我对你的other question 的回答然后删除了那个问题? 【参考方案1】:

您需要链接您的转换。在您的示例中,transform 的第二个分配有效地覆盖了第一个。这个有效:

UIProgressView *progressBar = [[UIProgressView alloc] initWithProgressViewStyle:UIProgressViewStyleBar];
progressBar.frame = CGRectMake(50, 100, 100, 50);
CGAffineTransform t = CGAffineTransformMakeRotation(M_PI_2);
t = CGAffineTransformScale(t, 1.0f, 50.0f);
progressBar.transform = t;
[self.view addSubview:progressBar];

【讨论】:

【参考方案2】:

我在某处读到过这个……我认为CGAffineTransform() 可以解决这个问题

[self.progressView setTransform:CGAffineTransformMakeScale(1.0, 2.0)];

旋转

#define DEGREES_TO_RADIANS(angle) ((90) / 180.0 * M_PI)
[self.progressView setTransform:CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(angle))];

【讨论】:

【参考方案3】:

斯威夫特 4

progressView.transform = CGAffineTransform(scaleX: 1.0, y: 2.0)

【讨论】:

以上是关于progressView的宽高的主要内容,如果未能解决你的问题,请参考以下文章

document相关的宽高

jQuery获取元素宽高

jQuery如何获取transform缩放后的宽高坐标位置?

flutter获取屏幕宽高和某个控件 的宽高

在渲染前获取 View 的宽高

iOS使用UIBezierPath实现ProgressView