iOS 字符串上下标(一)
效果图:
有关 iOS 字符串上下标 (二)点击打开链接
主要代码:继承于UILabel
PollutantFormatlabel.h
#import <UIKit/UIKit.h>IB_DESIGNABLE
@interface PollutantFormatlabel : UILabel+(void)PollutantFormatLabel:(UILabel *)label labelValue:(NSString *)labelValue;@end
PollutantFormatlabel.m
#import "PollutantFormatlabel.h"
#import <CoreText/CoreText.h>
#import "ValueLabel.h"@interface PollutantFormatlabel ()
@property(nonatomic,strong)NSDictionary *dic;@end@implementation PollutantFormatlabel/*** scripting 1-上标 -1-下标* loc 从哪个位置开始* len 需要上下标的长度*/
-(NSDictionary *)dic {if (!_dic) {_dic = @{@"μg/m3":@{@"scripting":@1,@"loc":@4,@"len":@1},@"mg/m3":@{@"scripting":@1,@"loc":@4,@"len":@1},@"PM10": @{@"scripting":@(-1),@"loc":@2,@"len":@2},@"PM2.5":@{@"scripting":@(-1),@"loc":@2,@"len":@3},@"O3": @{@"scripting":@(-1),@"loc":@1,@"len":@1},@"O3_8H":@{@"scripting":@(-1),@"loc":@1,@"len":@1},@"SO2": @{@"scripting":@(-1),@"loc":@2,@"len":@1},@"NO2": @{@"scripting":@(-1),@"loc":@2,@"len":@1},@"NOX": @{@"scripting":@(-1),@"loc":@2,@"len":@1},@"NOx": @{@"scripting":@(-1),@"loc":@2,@"len":@1},};}return _dic;
}-(void)drawTextInRect:(CGRect)rect {[PollutantFormatlabel PollutantFormatLabel:self labelValue:self.text];[super drawTextInRect:rect];
}+(void)PollutantFormatLabel:(UILabel *)label labelValue:(NSString *)labelValue {PollutantFormatlabel *p = [PollutantFormatlabel new];float size = label.font.pointSize;UIFont *smallFont = [UIFont systemFontOfSize:size/1.7];NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] initWithString:labelValue];[attString beginEditing];for (NSString *key in p.dic.allKeys) {NSRange strRange = [labelValue rangeOfString:key];if (strRange.location != NSNotFound) {NSDictionary *dic = p.dic[key];NSInteger loc = [dic[@"loc"] integerValue]+strRange.location;NSInteger len = [dic[@"len"] integerValue];NSRange range = NSMakeRange(loc,len);NSNumber *scripting = dic[@"scripting"];[attString addAttribute:NSFontAttributeName value:(smallFont) range:range];[attString addAttribute:(NSString*)kCTSuperscriptAttributeName value:scripting range:range];}}[attString endEditing];label.text = labelValue;label.attributedText = attString;
}@end
使用:
我的业余技术微信公众号:YKJGZH,欢迎大家进入
iOS 字符串上下标(一)相关推荐
- iOS 6上的Safari是否缓存$ .ajax结果?
本文翻译自:Is Safari on iOS 6 caching $.ajax results? Since the upgrade to iOS 6, we are seeing Safari's ...
- ios 拍照上传到服务器_ios端浏览器拍照上传到服务器,图片被旋转90度 php 解决方案...
1.可以通过前端进行解决,本案例通过后端解决的 判断请求的浏览器的ua,如果是ios浏览器则进行90度旋转 重点来了: 必须确保检测的图片是ios设备上传的完整图片,不要在前端压缩过的,因为压缩后的图 ...
- silverlight 上下标
Superscript:(上标)0 : U+20701 : U+00B92 : U+00B23 : U+00B34-9 : U+2074-2079+ : U+207A- : U+207B= : U+2 ...
- iOS知识分享 — iOS 13上的暗模式
我们将本周的文章献给那些庆祝这个受人尊敬的假期的人,无论是同时还是在iOS 13进入通用汽车的过程中.我们希望一些快速提示可以帮助您避开即将到来的阴影. 暗模式是一种外观偏好,告诉系统和参与的应用程序 ...
- MapGis中如何输入分数、带有上下标格式的注释_map2shp_新浪博客
1.MAPGIS中输入上下标格式字符串. 输入立方米: M# 3 //上标 输入二氧化碳: CO#-2 //下标 输入上下标混合: CO#-2# 3#=SO#-4 //上下标混合使用 2.MAPGIS ...
- 上下标 java_java包POI处理excel上下标的代码分享
原理是逐字检查发现,即使用sup,sub的网页标签替换. 含有2003版本和2007版本 package com.uet.common.utils; import org.apache.commons ...
- 解决 .webp 格式图片在 ios 设备上无法正常显示的问题
解决.webp 格式图片在 ios 设备上无法正常显示的问题 使用字符串的 replace() 方法,将 webp 的后缀名替换为 jpg 的后缀名 // 定义请求商品详情数据的方法 async ge ...
- 关于npoi导出的excel中设置上下标
//NPOI 库在生成excel是速度比较快的,可添加图片,设置连框,合并单元格等.微软的com生成excel方式可以扔掉了,那东西太慢. HSSFFont subscript = (HSSFFont ...
- iOS 字符串截取、iOS 字符串替换、iOS 字符串分隔、iOS 字符串匹配、截取字符串、匹配字符串、分隔字符串
iOS之字符串截取.iOS 字符串替换.iOS字符串分隔.iOS之字符串匹配.截取字符串.匹配字符串.分隔字符串 1.iOS 字符串截取 //1.ios截取字符串NSString *string =@ ...
最新文章
- ReactiveCocoa入门-part2
- java 属性自定义配置,将自定义FXML属性设置为自定义javafx组件的参数
- spss回归分析_回归分析中的简单斜率检验:用SPSS或jamovi实现
- Django开发基础----操作数据库
- Arts 第十九周(7/22 ~ 7/28)
- 简单英文题 24 Divisor and Multiple(python)
- 常用技巧 —— 位运算 —— 位运算基础
- Asp.net MVC - 使用PRG模式(附源码)
- PHP+node采集58微聊聊天信息
- 红米note7android10,红米Note7 Pro 安卓10.0原生刷机包(最新固件升级包lineage17.1)
- 概率论基础-严士健 第二版 习题与补充2.1答案
- mysql连接服务器教程_连接 MySQL 服务器
- 基金定投如何选择买卖点?——关于定投的择时研究
- CityBuilder+DataV制作次世代3D城市大屏,一秒俘获甲方的心!
- 天线要设计为四分之一波长的原因
- 特斯拉神器TeslaMate一键安装,终于来了
- JDBC Mybatis 调用 ORACLE 存储过程 函数 返回 varray 类型 function return varray out varray
- 当使用curl 下载压缩包时报解压格式错误
- Python使用逻辑回归提示FutureWarning: Default solver will be changed to ‘lbfgs‘ in 0.22. Specify a solver to
- 目前国内的高频交易系统的延迟做到了什么水平?
热门文章
- Linux Centos8最小化安装,tab键无法使用解决方法
- AI工程师基础知识100题
- 中国信通院“可信隐私计算”产品测评体系升级上线
- Adobe Creative Suite 6 CS6 正式版下载大全
- .html 打开方式注册表,注册表怎么打开
- 在windowsXP 上成功安装moodle
- DJI与优酷土豆战略合作
- 魅族什么时候加入鸿蒙系统,魅族接入鸿蒙意味着什么?2021鸿蒙系统产品发布时间确定...
- 波长分别为640/670nm和609/640nm的BODIPY荧光染料
- HTML5+css+JS实现页面打枪声音特效减压玩法 PUBG 大吉大利 今晚吃鸡