ios 7和ios 6之间的ios进度条高度不同

Posted

技术标签:

【中文标题】ios 7和ios 6之间的ios进度条高度不同【英文标题】:ios progressbar height different between ios7 and ios6 【发布时间】:2014-01-02 13:08:52 【问题描述】:

默认情况下,ios7和ios6中progressBar的高度不同。

要设置我的进度条的高度,我使用以下代码:

CGAffineTransform transform = CGAffineTransformMakeScale(1.0f, 2.0f);
self.myProgressbar.transform = transform;

但它只适用于 ios6。 在 ios7 中,progressBar 仍然是默认高度。

如何为 ios 6 和 7 设置相同的高度?

感谢您的帮助。

【问题讨论】:

【参考方案1】:

对视图应用变换在 iOS6 和 iOS7 中都可以正常工作。所以这不是问题。 在 iOS6 中,进度条的高度是 9.0,在 iOS7 中是 2.0。 因此,为了使两个操作系统版本的高度相同,请使用以下代码

- (BOOL)isDeviceVersion:(NSString *)version

    return ([[[UIDevice currentDevice] systemVersion] compare:version options:NSNumericSearch] == NSOrderedSame);


if ([self isDeviceVersion:@"7.0"])

    CGAffineTransform transform = CGAffineTransformMakeScale(1.0f, 4.5f);
    self.myProgressbar.transform = transform;

y 变换 4.5,因为 9.0 = 2.0 * 4.5

【讨论】:

【参考方案2】:

适合我的代码,谢谢帮助

- (BOOL)isDeviceVersion:(NSString *)version

    return ([[[UIDevice currentDevice] systemVersion] compare:version  options:NSNumericSearch] == NSOrderedSame);



-(void) viewWillLayoutSubviews

    if ([self isDeviceVersion:@"7.0"])
    
        CGAffineTransform transform = CGAffineTransformMakeScale(1.0f, 25.0f);
        self.myProgressbar.transform = transform;
    else
        CGAffineTransform transform = CGAffineTransformMakeScale(1.0f, 2.0f);
        self.myProgressbar.transform = transform;
    


【讨论】:

以上是关于ios 7和ios 6之间的ios进度条高度不同的主要内容,如果未能解决你的问题,请参考以下文章

对于相同的 iPhone 5s,iOS 模拟器在 ios 7.1 和 ios 8.2 之间具有不同的屏幕高度

根据文本动态获取UILabel的高度为iOS 7.0和iOS 6.1返回不同的值

在 iOS 7 中,为啥视图高度与 iOS 6 中的相同视图不同

UIProgressView 高度

ios开发之--给WebView加载进度条

iOS 7 和 iOS 8 上的不同帧高度