2012-07-02 45 views
2

有没有办法改变Xcode中进度视图栏的高度?高度进度视图xcode

我使用的是Xcode 4.3,需要一个垂直进度条。我旋转了栏,但现在无法改变高度,并显示为一个圆圈。

另外一种更有效的旋转进度条的方法会很有帮助。

谢谢!

+0

在这里看到我的回答:http://stackoverflow.com/questions/3437564/how-to-increase-height- of-uiprogressview使用iOS5 UIAppearance协议 – Jason

回答

14

有报道称,改变它手动的框架将工作:

[self.progressView setFrame:CGRectMake(0, 0, 300, 25)]; 

而另一些报道称,CGAffineTransform()的作品,以及:

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

至于旋转,使用:

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

对不起,我是编程新手,这段代码去哪里? – Amelia777

+0

任何你想改变其大小的地方。 – CodaFi

+0

.m文件中的任何位置?它说'自我'是一个未申报的标识符,我该如何解决这个问题? – Amelia777

0

我刚刚在iOS 7中遇到类似的问题。

如果您使用[UIProgressView appearance]来设置进度和跟踪图像,进度视图将正确显示从Xib文件加载的进度条。

然而,如果你编程方式创建一个UIProgressView(通过appearance设置图像后),外观图像将然而,使用它的高度将被卡住,“2”,进度条将被裁减掉,甚至要求setFrame不会修复它。

该修复程序是以编程方式直接在编程创建的UIProgressView上设置图像 - 而不是依赖于外观设置。

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 
1

下面的代码是给你的帮助。你想设置uislider高度变化CGAffineTransformMakeScale高度。

UISlider *slider_progres = [[UIProgressView alloc]initWithFrame:CGRectMake(0, 56, 320, 15)]; 

    CGAffineTransform transform = CGAffineTransformMakeScale(1.0f, 3.0f); 

    slider_progres.transform = transform; 
0

我认为它会帮助你。

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

对于我来说,如果你从UIProgressView类继承的作品只有

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

例子:

@implementation CustomProgressView 

     - (id)initWithCoder:(NSCoder *)aDecoder 
     { 
      self = [super initWithCoder:aDecoder]; 
      if (self) { 
       [self setTransform:CGAffineTransformMakeScale(1.0, 3.0)]; 

      } 
      return self; 
     } 
    @end 

其他类:

@property (weak, nonatomic) IBOutlet CustomProgressView *cProgressView;