等级显示小控件

Posted 旅途

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了等级显示小控件相关的知识,希望对你有一定的参考价值。

等级控件效果图:

 

DAE73EAE 24D9 4400 A97B E7F5F6467B66

 

 

实现方式:
 
自定义小控件,通过frame来获取它的坐标,然后通过富文本的方式来实现不同文字,由于文字粗体和斜体要同时使用,所以通过富文本实现比较方便;
 
声明文件:
 
其中有两个方法,一个是初始化,一个是改变等级需要调用的方法;
 
#import <UIKit/UIKit.h>

@interface IDSLevelconView : UIImageView

@property (nonatomic, strong) UILabel *levelabel;

- (
instancetype)initWithIconLevel:(NSInteger)level;

- (
void)updateLevel:(NSInteger)level;

@end
 
 
实现代码
 

#import "IDSLevelconView.h"

@implementation IDSLevelconView

- (
instancetype)initWithIconLevel:(NSInteger)level
{
   
   
if (self = [superinit]) {
        [
selfsetupView:level];
    }
   
returnself;
}


- (
void)setupView:(NSInteger)level
{
   
_levelabel = [[UILabelalloc] initWithFrame:CGRectMake(2, 0, 0, 0)];
   
   
   
NSMutableString * subtitlelabelStr = [NSMutableStringstringWithFormat:@"Lv%ld", level];
   
NSString *content = subtitlelabelStr;
   
NSMutableAttributedString *attributedString = [[NSMutableAttributedStringalloc] initWithString:content];
   
    [attributedString
setAttributes:@{NSForegroundColorAttributeName:NF_Color_C1,NSFontAttributeName:[UIFontboldSystemFontOfSize:Near_Final_Font_T12]}range:NSMakeRange(0, 2)];
    [attributedString
setAttributes:@{NSForegroundColorAttributeName:NF_Color_C1,NSFontAttributeName:[UIFontboldSystemFontOfSize:Near_Final_Font_T2]}range:NSMakeRange(2, [content length]-2)];
    [attributedString
addAttributes:@{NSObliquenessAttributeName:@0.2}range:NSMakeRange(0, [content length])];
    [
_levelabelsetAttributedText:attributedString];
    [
_levelabelsizeToFit];
   
   
if (level<=5) {
       
self.backgroundColor = NF_Color_C24;
    }
   
elseif (level<=10) {
       
self.backgroundColor = NF_Color_C27;
    }
   
elseif (level<=15) {
       
self.backgroundColor = NF_Color_C23;
    }
   
elseif (level<=20) {
       
self.backgroundColor = NF_Color_C5;
    }
    [
selfaddSubview:_levelabel];
   
self.frame = CGRectMake(0, 0, 35, 14);
   
_levelabel.centerX = self.frame.size.width/2;
   
_levelabel.centerY = self.frame.size.height/2;
   
self.layer.cornerRadius = self.frame.size.height/2;
   
self.layer.masksToBounds = YES;
}

- (
void)updateLevel:(NSInteger)level
{
   
NSMutableString * subtitlelabelStr = [NSMutableStringstringWithFormat:@"Lv%ld", level];
   
NSString *content = subtitlelabelStr;
   
NSMutableAttributedString *attributedString = [[NSMutableAttributedStringalloc] initWithString:content];
   
    [attributedString
setAttributes:@{NSForegroundColorAttributeName:NF_Color_C1,NSFontAttributeName:[UIFontboldSystemFontOfSize:Near_Final_Font_T12]}range:NSMakeRange(0, 2)];
    [attributedString
setAttributes:@{NSForegroundColorAttributeName:NF_Color_C1,NSFontAttributeName:[UIFontboldSystemFontOfSize:Near_Final_Font_T2]}range:NSMakeRange(2, [content length]-2)];
    [attributedString
addAttributes:@{NSObliquenessAttributeName:@0.2}range:NSMakeRange(0, [content length])];
    [
_levelabelsetAttributedText:attributedString];
    [
_levelabelsizeToFit];
   
   
if (level<=5) {
       
self.backgroundColor = NF_Color_C24;
    }
   
elseif (level<=10) {
       
self.backgroundColor = NF_Color_C27;
    }
   
elseif (level<=15) {
       
self.backgroundColor = NF_Color_C23;
    }
   
elseif (level<=20) {
       
self.backgroundColor = NF_Color_C5;
    }
   
_levelabel.centerX = self.frame.size.width/2;
   
_levelabel.centerY = self.frame.size.height/2;
}

@end'头像等级小工具'.html(false)

小程序--利用数组存放分数判断等级

等保小知识等级保护单项测评包括哪些项目?

根据用户的积分获取用户的等级,如果用户没有积分,则显示没有等级

等保小知识等级保护工作是指等保测评吗?意思一样吗?

化工行业等级品管理