我想在iOS 6及更低版本中增加进度视图的高度我正在使用外观方法
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)];
答案 0 :(得分:57)
如果我正确理解了这个问题,听起来你想要增加iOS7中进度视图的高度,而以前在iOS6中使用的代码不再有效。
我最近必须解决类似的问题,我通过在Interface Builder中为进度视图添加约束并通过约束显式设置高度来实现此目的。此解决方案需要使用自动布局,因此请确保已打开。
显示:大小检查器上的“高度”属性对于进度视图明显变灰并且无法更改 - 但是我已经在进度视图本身上定义了约束并将约束的高度设置为50点,实际上反映在IB中。
从我看到的iOS6 Progress Bars有一个静态高度值,所以如果你也想支持iOS6,那么就需要采用另一种方法。
答案 1 :(得分:47)
而其他人报告说CGAffineTransform()也可以正常工作:
[self.progressView setTransform:CGAffineTransformMakeScale(1.0, 3.0)];
答案 2 :(得分:17)
使用此代码: -
CGAffineTransform transform = CGAffineTransformMakeScale(1.0f, 5.0f);
progressView.transform = transform;
答案 3 :(得分:2)
这里已经回答了 How to increase height of UIProgressView
@implementation UIProgressView (customView)
- (CGSize)sizeThatFits:(CGSize)size
{
CGSize newSize = CGSizeMake(self.frame.size.width,9);
return newSize;
}
@end
答案 4 :(得分:2)
以下是user3189408的 Swift 版本和Rushabh面向像我这样的新开发者和快速爱好者的优秀解决方案。经过iOS 7 + / Swift 2.0测试。
progressView.transform = CGAffineTransformMakeScale(1.0, 5.0)
答案 5 :(得分:2)
progressView.transform = CGAffineTransform(scaleX: 1.0, y: 5.0)
答案 6 :(得分:0)
您可以注意到frame
访问者无法设置appearance
。您必须单独在每个进度视图上进行设置。
通常,根据进度条样式设置高度。
- (id)initWithProgressViewStyle:(UIProgressViewStyle)style; // sets the view height according to the style