UIProgressView 设置TrackImage问题

问题描述:在代码中使用UIProgressView 设置了Progress Image和Track Image没能正常的工作?

画不多说先放效果图:

Progress Image:

Track Image:

效果图:

解决方法:

 这个问题是ios的bug,不必在意,只要重新建个子类继承UIProgressView,并添加两个属性分别是:

@property (nonatomic,strong)UIImage *ggTrackImage;

@property (nonatomic,strong)UIImage *ggProgressImage;

分别在set方法里对UIProgressView自带的trackImage,和ProgressImge进行赋值,都说了ios的bug就不能直接拿到属性进行赋值了,取出UIProgressView的SubViews,并根据自己的需求对图片进行拉伸,我这里选择的是平滑拉伸,代码如下:

-(void)setGgTrackImage:(UIImage *)ggTrackImage

{_ggTrackImage=ggTrackImage;

UIImageView *trackImageView=self.subviews.firstObject;

CGRect trackProgressFrame=trackImageView.frame;

trackProgressFrame.size.height=self.frame.size.height;

trackImageView.frame=trackProgressFrame;

CGFloat width = _ggTrackImage.size.width/2.0;

CGFloat height = _ggTrackImage.size.height/2.0;

UIImage *imgTrack = [_ggTrackImage resizableImageWithCapInsets:UIEdgeInsetsMake(height, width, height, width)];

trackImageView.image=imgTrack;}

-(void)setGgProgressImage:(UIImage *)ggProgressImage

{_ggProgressImage=ggProgressImage;

CGFloat width = _ggProgressImage.size.width/2.0;

CGFloat height = _ggProgressImage.size.height/2.0;

UIImageView *progressImageView=self.subviews.lastObject;

CGRect ProgressFrame=progressImageView.frame;

ProgressFrame.size.height=self.frame.size.height;

progressImageView.frame=ProgressFrame;

UIImage *imgProgress = [_ggProgressImage resizableImageWithCapInsets:UIEdgeInsetsMake(height, width, height, width)];progressImageView.image=imgProgress;}

搞定,将这个类导入其他使用直接进行图片赋值即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa阅读 4,813评论 1 6
  • 1、设置UILabel行间距 NSMutableAttributedString* attrString = [[...
    FF_911阅读 5,264评论 0 3
  • 初二那年,有次语文单科考试考了班级前三,学校破例为我们发了奖品,我的奖品是一本书,好像是《中学生阅读》合订本,很厚...
    伊水芦笛阅读 3,130评论 0 1
  • 位于京城繁华地界的胭脂阁已经有几千年的历史,仍然是繁华锦盛。 自从胭脂阁上任老鸨风四娘被南诏国大王楚烆殇娶回南诏国...
    花裳阅读 4,553评论 3 7
  • 曾经总会因为一些特殊的情况,离开了当初自己喜欢的人。而我还在为当初许下的诺言而奋斗,只为再次与你相见。
    xfjf阅读 1,241评论 0 0