UIProgressView跟踪和进度图像在iOS7中不工作
我有一个UIProgressView,它是用进度和轨迹图像定制的。我还自定义了进度视图的大小。这在iOS 6中运行良好。我在iOS7中遇到了让它工作的问题UIProgressView跟踪和进度图像在iOS7中不工作,ios,objective-c,ios7,uikit,Ios,Objective C,Ios7,Uikit,我有一个UIProgressView,它是用进度和轨迹图像定制的。我还自定义了进度视图的大小。这在iOS 6中运行良好。我在iOS7中遇到了让它工作的问题 _progress.progressViewStyle = UIProgressViewStyleBar; _progress.trackImage = [UIImage imageNamed:@"summary-progress-track.png"]; _progress.progressImage = [UIImage imageNam
_progress.progressViewStyle = UIProgressViewStyleBar;
_progress.trackImage = [UIImage imageNamed:@"summary-progress-track.png"];
_progress.progressImage = [UIImage imageNamed:@"summary-progress.png"];
_progress.frame = CGRectMake(50, 50, 100, 10);
不仅高度会被忽略,而且自定义图像不会被应用。我只得到一个蓝色进度条,如下所示:
我认为默认的色调在某种程度上覆盖了进度图像。我也尝试过用UIAppearance设置它,但没有效果
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[UIProgressView appearance] setProgressImage:[UIImage imageNamed:@"summary-progress.png"]];
[[UIProgressView appearance] setTrackImage:[UIImage imageNamed:@"summary-progress-track.png"]];
return YES;
}
就我个人而言,我使用MPProgressHUD对视图进行所有进度跟踪。这是下载的链接 它的用法非常简单。这里有一个教程,你可能想看看
MPProgressHUD有一个特定的方法来显示自定义图像。如果您还没有看到这一点,这将非常有用
蓝色是iOS7中应用的控件的默认色调。找到了解决方案。如果其他人对此感到困惑,请查看此答案和解决此问题的建议代码:我打印进度的子视图,发现其中一个的帧宽度为0 那以后呢
[_videoProgressView setProgress:progress animated:NO];
重置轨迹和进度图像
UIImageView *trackImageView = _videoProgressView.subviews.firstObject;
UIImageView *progressImageView = _videoProgressView.subviews.lastObject;
CGRect trackProgressFrame = trackImageView.frame;
trackProgressFrame.size.height = _videoProgressView.frame.size.height;
trackImageView.frame = trackProgressFrame;
progressImageView.frame = trackProgressFrame;
progressImageView.image = progressImage;
trackImageView.image = trackImage;
选中此项谢谢pawan,但不幸的是,我没有使用自动布局,因此它不适用。感谢您的建议,我已经在使用MBPrgress hud,但在不同的上下文中。我仍然希望能够为不同的用例定制UIProgressView。