objective-c – iOS7中的自定义UIProgressView不可能?

我知道这已经被问了一百次,但是在其他问题上我找不到合适的答案.

我的问题是我的UIProgressView的高度.虽然一切都按照iOS6的预期运行,但现在在iOS7中没有任何事情发生.

我试过以下:

> 1.在drawRect方法中设置自定义布局:

在iOS6中起到了一种魅力,但是在iOS7中,进度从一开始就设置为100%,或者条形图很薄.

> 2.使用UIProgressView外观的progressImage和trackImage属性设置布局

也不在iOS7下工作.这里的酒吧进度也从一开始就设置为100%.有些人写这个方式应该是可能的,但我不能确认iOS7.

> 3.使用initWithProgressstyle进行初始化,然后设置进度视图的框架

在iOS6和iOS7下不适合我.在iOS7中,酒吧非常苗条.

对我来说,现在这是非常令人沮丧的,因为酒吧是100%或者是超大型的.任何人都可以给我一个建议,以达到我的进步意见的旧版本.我认为这是可能的,因为如果我在iPhone上看到我的Spotify应用程序(iOS7),进度视图就像以前一样.

非常感谢你!

解决方法

那么iOS6 UIProgressView和iOS7 UIProgressView具有不同的内部子视图结构的问题就是接缝. iOS6进度视图是没有子视图(或一些小视图)的单个视图,iOS7进度视图没有额外的子视图来绘制进度条和背景.

如果您删除iOS7上的所有UIProgressView子视图,而不是drawRect:方法将在iOS6上与以前一样工作,但是您将完全负责绘制进度视图内容,包括进度条和背景.

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

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

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...