iOS 7中的进度视图高度

Iqb*_*han 30 iphone objective-c uiprogressview ios ios7

我想在iOS 6及更低版本中增加进度视图的高度我正在使用appearence方法执行此操作

  UIImage *progressImage = [[UIImage imageNamed:@"sliderbk-progress.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 4, 0, 5)];
[[UIProgressView appearance] setProgressImage:progressImage];
Run Code Online (Sandbox Code Playgroud)

但现在在iOS7中这个代码不起作用我甚至尝试给出下面的代码,但没有用.任何帮助都会有所帮助.谢谢

[[UIProgressView appearance] setFrame:CGRectMake(20, 100, 280, 100)];
Run Code Online (Sandbox Code Playgroud)

Der*_*Lee 57

如果我正确理解了这个问题,听起来你想要增加iOS7中进度视图的高度,而以前在iOS6中使用的代码不再有效.

我最近必须解决类似的问题,我通过在Interface Builder中为进度视图添加约束并通过约束显式设置高度来实现此目的.此解决方案将需要使用自动布局,因此请确保已启用此功能.

高度属性

显示:Size Inspector上的"Height"属性对于Progress View显然是灰色的并且无法更改 - 但是我已经在Progress View本身上定义了一个约束并将约束的高度设置为50个点,这实际上反映在IB.

从我看到的iOS6进度条有一个静态高度值,所以如果你也想支持iOS6,那么还需要另一种方法.

  • 工作,但给我一个错误的视图警告...无论如何解决这个问题? (14认同)
  • 你如何用Objective-C代码做到这一点?我不使用Interface Builder/Storyboard/WYSIWYG编辑器. (3认同)

小智 47

而其他人报告说CGAffineTransform()也可以正常工作:

[self.progressView setTransform:CGAffineTransformMakeScale(1.0, 3.0)];
Run Code Online (Sandbox Code Playgroud)


Rus*_*abh 17

使用此代码: -

 CGAffineTransform transform = CGAffineTransformMakeScale(1.0f, 5.0f);
 progressView.transform = transform;
Run Code Online (Sandbox Code Playgroud)

  • 将代码放在layoutSubviews中然后它适用于我. (2认同)