加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 05:37:08 所属栏目:百科 来源:网络整理
导读:我知道这已经被问了一百次,但是在其他问题上我找不到合适的答案. 我的问题是我的UIProgressView的高度.虽然一切都按照iOS6的预期运行,但现在在iOS7中没有任何事情发生. 我试过以下: 1.在drawRect方法中设置自定义布局: 在iOS6中起到了一种魅力,但是在iOS7
我知道这已经被问了一百次,但是在其他问题上我找不到合适的答案.

我的问题是我的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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读