美文网首页
星星覆盖效果

星星覆盖效果

作者: Mr丶炎 | 来源:发表于2016-07-20 14:01 被阅读31次
星星效果.png
  • 原理:
    首先灰色星星和黄色星星都是一个,怎么做到五个的呢!用一个视图作为父视图然后用平铺。黄色视图和灰色视图大小一样。然后根据评分计算黄色宽度的大小,就实现了这样一个假象

源代码

#import "WXStar.h"

@interface WXStar ()

/** 灰色视图 */
@property (nonatomic, weak) UIView *grayView;
/** 黄色视图 */
@property (nonatomic, weak) UIView *yellowView;

@end

@implementation WXStar

- (void)awakeFromNib {
    
    // 创建星星
    [self createStar];
    
}

- (void)createStar {
    
    // 灰色图片
    UIImage *grayImage = [UIImage imageNamed:@"gray"];
    // 黄色图片
    UIImage *yellowImage = [UIImage imageNamed:@"yellow"];
    
    // 创建灰色视图
    UIView *grayView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, grayImage.size.width * 5, grayImage.size.height)];
  
    grayView.backgroundColor = [UIColor colorWithPatternImage:grayImage];
    self.grayView = grayView;
    
    
    // 创建黄色视图
    UIView *yellowView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, yellowImage.size.width * 5, yellowImage.size.height)];
    yellowView.backgroundColor = [UIColor colorWithPatternImage:yellowImage];
    self.yellowView = yellowView;
    
    [self addSubview:grayView];
    [self addSubview:yellowView];
    
    // 缩放比例
    float scale = self.frame.size.height / yellowImage.size.height;
    grayView.transform = CGAffineTransformMakeScale(scale, scale);
    yellowView.transform = CGAffineTransformMakeScale(scale, scale);
    
    // 坐标归零
    grayView.origin = CGPointZero;
    yellowView.origin = CGPointZero;
    
}

- (void)setRating:(float)rating {
    _rating = rating;
    
    self.yellowView.width = self.frame.size.width * (rating / 10);

}

@end

相关文章

  • 星星覆盖效果

    原理:首先灰色星星和黄色星星都是一个,怎么做到五个的呢!用一个视图作为父视图然后用平铺。黄色视图和灰色视图大小一样...

  • 一个简单的遮挡效果

    遮挡效果图: 原理:放两张视图,一张视图控制灰色星星,另一张控制黄色星星。黄色星星覆盖灰色星星,再通过值来改变黄色...

  • jQuery滑动星星评分效果

    每日分享效果,今天分享一个jQuery滑动星星评分效果。 jQuery星星评分制作5颗星星鼠标滑过评分打分效果,可...

  • springCloud gateway统一异常处理

    最终效果 继承AbstractErrorWebExceptionHandler 覆盖ErrorWebFluxAut...

  • css(层叠样式)-小技巧

    1 小星星的重叠:结构 效果 2 修改星星的总体大小()结构 效果

  • React 星星评分控价

    思路是一层实心星星,覆盖着空心星星,控制实心星星的显示宽度 直接上代码

  • JAVA学习笔记(覆盖的方法)

    1.覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果 2.覆盖的方法的返回值必须要和被覆盖的...

  • 巧用ViewPager实现驾考宝典做题翻页效果

    效果如下所示: 思路:a.利用ViewPager自带的动画效果,略作修改,实现滑动覆盖翻页效果。b.移动时加入阴影...

  • mybatis配置文件的疑惑

    trim标签有点类似于replace效果。 prefix:前缀覆盖并增加其内容 suffix:后缀覆盖并增加其内容...

  • 对星星许诺

    作者 杨丰泽 晚上,一闪一闪的星星覆盖的夜空。星星就像一闪一闪的眼睛,那星星把夜空装扮...

网友评论

      本文标题:星星覆盖效果

      本文链接:https://www.haomeiwen.com/subject/xhdvjttx.html