Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UIProgressView跟踪和进度图像在iOS7中不工作_Ios_Objective C_Ios7_Uikit - Fatal编程技术网

UIProgressView跟踪和进度图像在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

我有一个UIProgressView,它是用进度和轨迹图像定制的。我还自定义了进度视图的大小。这在iOS 6中运行良好。我在iOS7中遇到了让它工作的问题

_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。