iOS 7中的进度视图高度
我想增加在iOS 6和以下的进展视图的高度,我正在做这个使用appearence方法
UIImage *progressImage = [[UIImage imageNamed:@"sliderbk-progress.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 4, 0, 5)]; [[UIProgressView appearance] setProgressImage:progressImage];
但现在在iOS7这个代码不工作,我甚至尝试给下面的代码,但没有用。 任何帮助将是有益的。 谢谢
[[UIProgressView appearance] setFrame:CGRectMake(20, 100, 280, 100)];
如果我正确地理解了这个问题,听起来像是想要增加iOS7中进度视图的高度,以前在iOS6中使用的代码不再有效。
我最近必须解决类似的问题,我通过在Interface Builder中为进度视图添加一个约束并通过约束来显式设置高度。 此解决scheme将需要使用自动布局,所以请确保您已打开。
如图所示:Size Inspector上的“Height”属性对于Progress View来说显然是灰色的,不能改变 – 但是我已经在Progress View本身上定义了一个约束,并将约束的高度设置为50点,这实际上反映在IB。
从我见过的iOS6进度条有一个静态高度值,所以如果你也想支持iOS6,那么另一种方法将是必要的。
而其他人则报告CGAffineTransform()也适用:
[self.progressView setTransform:CGAffineTransformMakeScale(1.0, 3.0)];
使用此代码: –
CGAffineTransform transform = CGAffineTransformMakeScale(1.0f, 5.0f); progressView.transform = transform;
已经在这里回答如何增加UIProgressView的高度
@implementation UIProgressView (customView) - (CGSize)sizeThatFits:(CGSize)size { CGSize newSize = CGSizeMake(self.frame.size.width,9); return newSize; } @end
下面是user3189408的swift版本和Rushabh为新开发人员和像我这样的快速爱好者提供的很好的解决scheme。 testingiOS 7 + / Swift 2.0。
progressView.transform = CGAffineTransformMakeScale(1.0, 5.0)
Swift 3.x
progressView.transform = CGAffineTransform(scaleX: 1.0, y: 5.0)
你可以注意到frame
不能被appearance
访问器设置。 您必须分别在每个进度视图上进行设置。
通常,高度是根据进度条风格设置的。
- (id)initWithProgressViewStyle:(UIProgressViewStyle)style; // sets the view height according to the style