OC:获取设备信息和添加删除线

说明 时间
首次发布 2017年05月21日
最近更新 2020年05月04日
1、获取设备信息
//MZDeviceInfo.h
#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface MZDeviceInfo : NSObject

///获取设备型号
+ (NSString *)deviceModel;

///获取设备版本号
+ (NSString *)systemVersion;

@end

NS_ASSUME_NONNULL_END


//.m
#import "MZDeviceInfo.h"

#import <UIKit/UIDevice.h>
#import <sys/utsname.h>

@implementation MZDeviceInfo

+ (NSString *)systemVersion {
    return [[UIDevice currentDevice] systemVersion];
}

+ (NSString *)deviceModel {
    
    NSString *deviceModel = [[self class] currentModel];
    
    if (deviceModel.length == 0) {
        deviceModel = @"unknown device";
    }
    
    return deviceModel;
}

+ (NSString *)currentModel {
    struct utsname systemInfo;
    uname(&systemInfo);
    
    NSString *platformName = [NSString stringWithCString: systemInfo.machine encoding:NSASCIIStringEncoding];
    
    return [[self machineModels] objectForKey:platformName];
}

+ (NSDictionary *)machineModels {
    static NSDictionary *_machineModels = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        _machineModels = @{@"iPhone1,1": @"iPhone 2G",
                           @"iPhone1,2": @"iPhone 3G",
                           
                           @"iPhone2,1": @"iPhone 3GS",
                           
                           @"iPhone3,1": @"iPhone 4",
                           @"iPhone3,2": @"iPhone 4",
                           @"iPhone3,3": @"iPhone 4",
                           
                           @"iPhone4,1": @"iPhone 4s",
                           
                           @"iPhone5,1": @"iPhone 5",
                           @"iPhone5,2": @"iPhone 5",
                           @"iPhone5,3": @"iPhone 5c",
                           @"iPhone5,4": @"iPhone 5c",
                           
                           @"iPhone6,1": @"iPhone 5s",
                           @"iPhone6,2": @"iPhone 5s",
                           
                           @"iPhone7,1": @"iPhone 6 Plus",
                           @"iPhone7,2": @"iPhone 6",
                           
                           @"iPhone8,1": @"iPhone 6s",
                           @"iPhone8,2": @"iPhone 6s Plus",
                           @"iPhone8,4": @"iPhone SE",
                           
                           @"iPhone9,1": @"iPhone 7",
                           @"iPhone9,2": @"iPhone 7 Plus",
                           
                           @"iPhone10,1": @"iPhone 8",
                           @"iPhone10,2": @"iPhone 8 Plus",
                           @"iPhone10,3": @"iPhone X",
                           @"iPhone10,4": @"iPhone 8",
                           @"iPhone10,5": @"iPhone 8 Plus",
                           @"iPhone10,6": @"iPhone X",
                           @"iPhone11,2": @"iPhone XS",
                           @"iPhone11,4": @"iPhone XS Max",
                           @"iPhone11,6": @"iPhone XS Max",
                           @"iPhone11,8": @"iPhone XR",
                           
                           @"iPad1,1": @"iPad 1G",
                           
                           @"iPad2,1": @"iPad 2",
                           @"iPad2,2": @"iPad 2",
                           @"iPad2,3": @"iPad 2",
                           @"iPad2,4": @"iPad 2",
                           @"iPad2,5": @"iPad Mini 1G",
                           @"iPad2,6": @"iPad Mini 1G",
                           @"iPad2,7": @"iPad Mini 1G",
                           
                           @"iPad3,1": @"iPad 3",
                           @"iPad3,2": @"iPad 3",
                           @"iPad3,3": @"iPad 3",
                           @"iPad3,4": @"iPad 4",
                           @"iPad3,5": @"iPad 4",
                           @"iPad3,6": @"iPad 4",
                           
                           @"iPad4,1": @"iPad Air",
                           @"iPad4,2": @"iPad Air",
                           @"iPad4,3": @"iPad Air",
                           @"iPad4,4": @"iPad Mini 2G",
                           @"iPad4,5": @"iPad Mini 2G",
                           @"iPad4,6": @"iPad Mini 2G",
                           @"iPad4,7": @"iPad Mini 3",
                           @"iPad4,8": @"iPad Mini 3",
                           @"iPad4,9": @"iPad Mini 3",
                           
                           @"iPad5,1": @"iPad Mini 4",
                           @"iPad5,2": @"iPad Mini 4",
                           @"iPad5,3": @"iPad Air 2",
                           @"iPad5,4": @"iPad Air 2",
                           
                           @"iPad6,3": @"iPad Pro 9.7",
                           @"iPad6,4": @"iPad Pro 9.7",
                           @"iPad6,7": @"iPad Pro 12.9",
                           @"iPad6,8": @"iPad Pro 12.9",
                           
                           @"iPod1,1": @"iPod Touch 1G",
                           @"iPod2,1": @"iPod Touch 2G",
                           @"iPod3,1": @"iPod Touch 3G",
                           @"iPod4,1": @"iPod Touch 4G",
                           @"iPod5,1": @"iPod Touch 5G",
                           
                           @"i386": @"iPhone Simulator 32bit",
                           @"x86_64": @"iPhone Simulator 64bit",
                           };
    });
    return _machineModels;
}

@end

给文字添加删除线

在原有的属性字典里添加 NSBaselineOffsetAttributeName (基线偏移值:取值为NSNumber (float),正值上偏,负值下偏)就可以了 。
iOS10.3之前的写法是:

NSAttributedString *attributedString = [[NSAttributedString alloc]
                                        initWithString:goodsprice attributes:@{
                                        NSStrikethroughStyleAttributeName :@(NSUnderlineStyleSingle),
                                        NSStrikethroughColorAttributeName : UIColorFromHexValue(0xBBBBBB)
                                        }];
seckillLabel.attributedText = attributedString;

iOS10.3之后的写法是:

NSAttributedString *attributedString = [[NSAttributedString alloc]
                                       initWithString:goodsprice attributes:@{
                                             NSStrikethroughStyleAttributeName : @(NSUnderlineStyleSingle),
                                             NSStrikethroughColorAttributeName : UIColorFromHexValue(0xBBBBBB),
                                             NSBaselineOffsetAttributeName:@(0)}];//NSBaselineOffsetAttributeName 设置基线偏移值。取值为NSNumber (float),正值上偏,负值下偏
cell.seckillLabel.attributedText = attributedString;
效果图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,290评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,107评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,872评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,415评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,453评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,784评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,927评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,691评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,137评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,472评论 2 326
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,622评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,289评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,887评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,741评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,316评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,490评论 2 348

推荐阅读更多精彩内容