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; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |