使用iOS6 SDK在iOS7上进行默认UIProgressView呈现

使用iOS6 SDK在iOS7上进行默认UIProgressView呈现,ios,ios7,uiprogressview,Ios,Ios7,Uiprogressview,我在使用默认进度视图时遇到渲染错误。当使用默认的进度视图时,视图被剪裁为大约4px,而不是9px高。我的应用程序是使用iOS6 SDK构建的,在iOS7设备上运行时会出现此问题。该界面是使用interface builder构建的 这个问题有简单的解决方法吗?在interface builder中将样式从“Default”切换到“Bar”可以解决问题,但会改变外观 在代码中设置框架帮助我解决了这个问题。在代码中设置框架帮助我解决了这个问题。就像iOS7剪切进度视图一样,使用iOS7样式的框架。

我在使用默认进度视图时遇到渲染错误。当使用默认的进度视图时,视图被剪裁为大约4px,而不是9px高。我的应用程序是使用iOS6 SDK构建的,在iOS7设备上运行时会出现此问题。该界面是使用interface builder构建的

这个问题有简单的解决方法吗?在interface builder中将样式从“Default”切换到“Bar”可以解决问题,但会改变外观


在代码中设置框架帮助我解决了这个问题。

在代码中设置框架帮助我解决了这个问题。

就像iOS7剪切进度视图一样,使用iOS7样式的框架。 你有两种方法。 1.设置进度视图样式--bar,您可以在nib文件或代码中执行此操作。 2.使用代码设置框架。比如: progressView.frame=CGRectMake(x,y,w,h)

当您旋转或更改布局时,第二个将面临布局问题。
因此,最简单的方法是设置进度视图的样式。

就像iOS7剪切进度视图一样,使用iOS7样式的框架。 你有两种方法。 1.设置进度视图样式--bar,您可以在nib文件或代码中执行此操作。 2.使用代码设置框架。比如: progressView.frame=CGRectMake(x,y,w,h)

当您旋转或更改布局时,第二个将面临布局问题。
因此,最简单的方法是设置进度视图的样式。

@iPP的答案不是最好的。在代码中设置框架将导致您的代码充斥着iOS版本检查,并且当支持多个设备方向时,代码往往变得非常复杂

我认为最好的方法是在Xcode 5中使用新功能“iOS 6/7增量”

“iOS 6/7 Delta”的主要用途是:

关闭“自动布局”后,您会注意到Interface Builder的实用程序区域(右窗格)的“大小”选项卡中有一个区域,可用于设置iOS 6/7增量。可以为每个视图单独设置增量,并按预期工作。如果您的故事板或nib设置为作为iOS 6查看,则在iOS 7中运行时,设置增量将导致该视图按设置的增量量移动和/或调整大小。或者,如果您的故事板或nib设置为在iOS 7中查看,则在iOS 6中运行时将应用增量。这两种工具都可以帮助您支持旧版本的iOS以及iOS 7


对于UIProgressView,您可以尝试将“Y增量”设置为-7px,因为iOS 7只是将UIProgressView的Y原点减少了7px,所以在iOS 7中运行时,我们应该将其返回7px。

@iPP的答案不是最好的。在代码中设置框架将导致您的代码充斥着iOS版本检查,并且当支持多个设备方向时,代码往往变得非常复杂

我认为最好的方法是在Xcode 5中使用新功能“iOS 6/7增量”

“iOS 6/7 Delta”的主要用途是:

关闭“自动布局”后,您会注意到Interface Builder的实用程序区域(右窗格)的“大小”选项卡中有一个区域,可用于设置iOS 6/7增量。可以为每个视图单独设置增量,并按预期工作。如果您的故事板或nib设置为作为iOS 6查看,则在iOS 7中运行时,设置增量将导致该视图按设置的增量量移动和/或调整大小。或者,如果您的故事板或nib设置为在iOS 7中查看,则在iOS 6中运行时将应用增量。这两种工具都可以帮助您支持旧版本的iOS以及iOS 7


对于UIProgressView,您可以尝试将“增量Y”设置为-7px,因为iOS 7只是将UIProgressView的Y原点减少了7px,所以在iOS 7中运行时,我们应该将其返回7px。

对我很有用!谢谢刚刚在iOS7上遇到这个问题,我正在以编程方式创建自定义外观的进度视图。我想指出,开发人员应该在为进度视图设置轨迹和填充图像之后设置UIProgressView的框架。比如progressView.trackImage=;和progressView.progressImage=;然后progressView.frame=CGRectMake(…);如果使用
progressTintColor
trackTintColor
而不是
progressImage
trackImage
设置进度条的样式,则设置帧似乎不起作用。这对我很有用!谢谢刚刚在iOS7上遇到这个问题,我正在以编程方式创建自定义外观的进度视图。我想指出,开发人员应该在为进度视图设置轨迹和填充图像之后设置UIProgressView的框架。比如progressView.trackImage=;和progressView.progressImage=;然后progressView.frame=CGRectMake(…);如果使用
progressTintColor
trackTintColor
而不是
progressImage
trackImage
设置进度条的样式,则设置帧似乎不起作用。它在iOS 7中不起作用。请建议一个更好的方法。@jianpx,我同意。我们必须在Xcode 4.x中提供一个快速修复版本,它没有delta的选项。因此,设置帧是解决问题的方法。它在iOS 7中不起作用。请建议一个更好的方法。@jianpx,我同意。我们必须在Xcode 4.x中提供一个快速修复版本,它没有delta的选项。因此,设置框架是一条出路。。