gpt4 book ai didi

objective-c - 无法在 iOS7 中自定义 UIProgressView?

转载 作者:太空狗 更新时间:2023-10-30 03:25:17 26 4
gpt4 key购买 nike

我知道这已经在这里被问了大约一百次,但我在其他问题中找不到合适的答案。

我的问题是我的 UIProgressView 的高度。虽然在 iOS6 中一切都按预期工作,但现在在 iOS7 中一切都不正常。

我尝试了以下方法:

  • 1.在 drawRect-Method 中设置自定义布局:

在 iOS6 中工作得很好,但在 iOS7 中,进度从一开始就设置为 100%,或者进度条非常细。

  • 2.使用 UIProgressView 外观的 progressImagetrackImage 属性设置布局

在 iOS7 下也不行。这里的进度条也从一开始就设置为 100%。有人写说应该可以这样,但我无法确认是否适用于 iOS7。

  • 3.使用initWithProgressStyle进行初始化,然后设置进度 View 的框架

在 iOS6 和 iOS7 下对我不起作用。在 iOS7 中,条形图非常细。

现在对我来说这非常令人沮丧,因为条形要么是 100%,要么非常细。任何人都可以给我建议以达到我的进度 View 的旧布局。我认为这一定是可能的,因为如果我在 iPhone(安装了 iOS7)上查看我的 Spotify 应用程序,进度 View 看起来像以前一样。

enter image description here

非常感谢!

最佳答案

好吧,问题在于 iOS6 UIProgressView 和 iOS7 UIProgressView 具有不同的内部 subview 结构。 iOS6 进度 View 是没有 subview (或一些小 View )的单一 View ,iOS7 进度 View 很少有额外的 subview 来绘制进度条和背景。

如果你在 iOS7 上删除了 UIProgressView 的所有 subview ,那么你的 drawRect: 方法将像以前在 iOS6 上一样工作,但你将完全负责绘制你的进度 View 内容,包括进度条和背景。

- (id) initWithCoder: (NSCoder*)aDecoder
{
if(self=[super initWithCoder: aDecoder])
{
// Also you can setup height of your progress here
// self.frame = CGRectMake(0,0,100,yourHeight);

NSArray *subViews = self.subviews;
for(UIView *view in subViews)
{
[view removeFromSuperview];
}
}
return self;
}

关于objective-c - 无法在 iOS7 中自定义 UIProgressView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18978438/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com