更换项目
@@ -1,24 +0,0 @@
|
||||
//
|
||||
// AdvertiseMatrix.h
|
||||
// YUMI
|
||||
//
|
||||
// Created by YUMI on 2022/10/31.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
typedef NS_ENUM(NSInteger, SplashAbstractSkipGenre) {
|
||||
SplashAbstractSkipGenrePage = 1,
|
||||
SplashAbstractSkipGenreRoom = 2,
|
||||
SplashAbstractSkipGenreWeb = 3,
|
||||
};
|
||||
|
||||
@interface AdvertiseMatrix : NSObject<NSCopying>
|
||||
@property (nonatomic, strong) NSString *link;
|
||||
@property (nonatomic, assign) SplashAbstractSkipGenre type;
|
||||
@property (nonatomic, copy) NSString *pict;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -1,12 +0,0 @@
|
||||
//
|
||||
// AdvertiseMatrix.m
|
||||
// YUMI
|
||||
//
|
||||
// Created by YUMI on 2022/10/31.
|
||||
//
|
||||
|
||||
#import "AdvertiseMatrix.h"
|
||||
|
||||
@implementation AdvertiseMatrix
|
||||
|
||||
@end
|
24
YuMi/CustomUI/Adbvertise/AdvertiseModel.h
Normal file
@@ -0,0 +1,24 @@
|
||||
//
|
||||
// AdvertiseModel.h
|
||||
// YUMI
|
||||
//
|
||||
// Created by YUMI on 2022/10/31.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
typedef NS_ENUM(NSInteger, SplashInfoSkipType) {
|
||||
SplashInfoSkipTypePage = 1,
|
||||
SplashInfoSkipTypeRoom = 2,
|
||||
SplashInfoSkipTypeWeb = 3,
|
||||
};
|
||||
|
||||
@interface AdvertiseModel : NSObject<NSCopying>
|
||||
@property (nonatomic, strong) NSString *link;
|
||||
@property (nonatomic, assign) SplashInfoSkipType type;// 1跳app页面,2跳聊天室,3跳h5页面
|
||||
@property (nonatomic, copy) NSString *pict;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
12
YuMi/CustomUI/Adbvertise/AdvertiseModel.m
Normal file
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// AdvertiseModel.m
|
||||
// YUMI
|
||||
//
|
||||
// Created by YUMI on 2022/10/31.
|
||||
//
|
||||
|
||||
#import "AdvertiseModel.h"
|
||||
|
||||
@implementation AdvertiseModel
|
||||
|
||||
@end
|
48
YuMi/CustomUI/Adbvertise/XPAdImageTool.h
Normal file
@@ -0,0 +1,48 @@
|
||||
//
|
||||
// YMAdImageTool.h
|
||||
// YUMI
|
||||
//
|
||||
// Created by YUMI on 2022/10/31.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "AdvertiseModel.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPAdImageTool : NSObject
|
||||
+ (instancetype)shareImageTool;
|
||||
|
||||
///是否登录成功im
|
||||
@property (nonatomic,assign)BOOL isImLogin;
|
||||
|
||||
//去除广告信息
|
||||
- (AdvertiseModel *)getAdInfoFromCacheInMainWith:(NSString *)link;
|
||||
///保存信息
|
||||
- (void)saveAdInfo:(AdvertiseModel *)adInfo;
|
||||
/**
|
||||
* 判断文件是否存在
|
||||
*/
|
||||
- (BOOL)isFileExistWithFilePath:(NSString *)filePath;
|
||||
|
||||
/**
|
||||
* 初始化广告页面
|
||||
*/
|
||||
- (void)getAdvertisingImage;
|
||||
|
||||
/**
|
||||
* 下载新图片
|
||||
*/
|
||||
- (void)downloadAdImageWithUrl:(NSString *)imageUrl imageName:(NSString *)imageName;
|
||||
|
||||
/**
|
||||
* 删除旧图片
|
||||
*/
|
||||
- (void)deleteOldImage;
|
||||
|
||||
/**
|
||||
* 根据图片名拼接文件路径
|
||||
*/
|
||||
- (NSString *)getFilePathWithImageName:(NSString *)imageName;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
145
YuMi/CustomUI/Adbvertise/XPAdImageTool.m
Normal file
@@ -0,0 +1,145 @@
|
||||
//
|
||||
// YMAdImageTool.m
|
||||
// YUMI
|
||||
//
|
||||
// Created by YUMI on 2022/10/31.
|
||||
//
|
||||
|
||||
#import "XPAdImageTool.h"
|
||||
#import <YYCache/YYCache.h>
|
||||
|
||||
#define CACHENAME @"XPUserCache"
|
||||
|
||||
UIKIT_EXTERN NSString * const adImageName;
|
||||
@interface XPAdImageTool ()
|
||||
@property (nonatomic, strong) YYCache *yyCache;
|
||||
///广告信息
|
||||
@property (nonatomic,strong) AdvertiseModel *infoModel;
|
||||
@end
|
||||
|
||||
static XPAdImageTool* tool;
|
||||
@implementation XPAdImageTool
|
||||
|
||||
+ (instancetype)shareImageTool {
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
tool = [[XPAdImageTool alloc] init];
|
||||
});
|
||||
return tool;
|
||||
}
|
||||
|
||||
- (instancetype)init
|
||||
{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
self.yyCache = [YYCache cacheWithName:CACHENAME];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
//去除广告信息
|
||||
- (AdvertiseModel *)getAdInfoFromCacheInMainWith:(NSString *)link {
|
||||
if (link.length > 0) {
|
||||
if ([self.yyCache containsObjectForKey:link]) {
|
||||
return [self.yyCache objectForKey:link];
|
||||
}else {
|
||||
return nil;
|
||||
}
|
||||
}else {
|
||||
return nil;
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
|
||||
|
||||
///保存信息
|
||||
- (void)saveAdInfo:(AdvertiseModel *)adInfo {
|
||||
self.infoModel = adInfo;
|
||||
NSArray *stringArr = [adInfo.pict componentsSeparatedByString:@"/"];
|
||||
NSString *key = stringArr.lastObject;
|
||||
[self.yyCache setObject:adInfo forKey:key withBlock:^{
|
||||
|
||||
}];
|
||||
|
||||
[self getAdvertisingImage];
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断文件是否存在
|
||||
*/
|
||||
- (BOOL)isFileExistWithFilePath:(NSString *)filePath {
|
||||
NSFileManager *fileManager = [NSFileManager defaultManager];
|
||||
BOOL isDirectory = FALSE;
|
||||
return [fileManager fileExistsAtPath:filePath isDirectory:&isDirectory];
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化广告页面
|
||||
*/
|
||||
- (void)getAdvertisingImage {
|
||||
|
||||
if (self.infoModel.pict.length > 0) {
|
||||
NSString *imageUrl = self.infoModel.pict;
|
||||
// 获取图片名
|
||||
NSArray *stringArr = [imageUrl componentsSeparatedByString:@"/"];
|
||||
NSString *imageName = stringArr.lastObject;
|
||||
|
||||
// 拼接沙盒路径
|
||||
NSString *filePath = [self getFilePathWithImageName:imageName];
|
||||
BOOL isExist = [self isFileExistWithFilePath:filePath];
|
||||
if (!isExist){// 如果该图片不存在,则删除老图片,下载新图片
|
||||
[self downloadAdImageWithUrl:imageUrl imageName:imageName];
|
||||
}
|
||||
}else {
|
||||
[self deleteOldImage];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载新图片
|
||||
*/
|
||||
- (void)downloadAdImageWithUrl:(NSString *)imageUrl imageName:(NSString *)imageName {
|
||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
||||
|
||||
NSString *encode = [imageUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
|
||||
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:encode]];
|
||||
UIImage *image = [UIImage imageWithData:data];
|
||||
|
||||
NSString *filePath = [self getFilePathWithImageName:imageName]; // 保存文件的名称
|
||||
if ([UIImagePNGRepresentation(image) writeToFile:filePath atomically:YES]) {// 保存成功
|
||||
[self deleteOldImage];
|
||||
[[NSUserDefaults standardUserDefaults] setValue:imageName forKey:adImageName];
|
||||
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||
}else{
|
||||
[self deleteOldImage];
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除旧图片
|
||||
*/
|
||||
- (void)deleteOldImage {
|
||||
NSString *imageName = [[NSUserDefaults standardUserDefaults] valueForKey:adImageName];
|
||||
if (imageName) {
|
||||
NSString *filePath = [self getFilePathWithImageName:imageName];
|
||||
NSFileManager *fileManager = [NSFileManager defaultManager];
|
||||
[fileManager removeItemAtPath:filePath error:nil];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据图片名拼接文件路径
|
||||
*/
|
||||
- (NSString *)getFilePathWithImageName:(NSString *)imageName {
|
||||
if (imageName) {
|
||||
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES);
|
||||
NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:imageName];
|
||||
|
||||
return filePath;
|
||||
}
|
||||
|
||||
return nil;
|
||||
}
|
||||
@end
|
25
YuMi/CustomUI/Adbvertise/XPAdvertiseView.h
Normal file
@@ -0,0 +1,25 @@
|
||||
//
|
||||
// YMAdvertiseView.h
|
||||
// YUMI
|
||||
//
|
||||
// Created by YUMI on 2022/10/31.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XPAdvertiseView : UIView
|
||||
|
||||
/** 显示广告页面方法*/
|
||||
- (void)show;
|
||||
|
||||
/** 图片路径*/
|
||||
@property (nonatomic, copy) NSString *filePath;
|
||||
|
||||
@property (nonatomic, strong) UIImage *adImage;
|
||||
|
||||
@property (nonatomic, copy) void(^dismissHandler)(BOOL shouldJump); //闪屏消失回调
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -5,23 +5,26 @@
|
||||
// Created by YUMI on 2022/10/31.
|
||||
//
|
||||
|
||||
#import "YUMIAdvertiseRegard.h"
|
||||
#import "XPAdvertiseView.h"
|
||||
#import "AppDelegate.h"
|
||||
//tool
|
||||
#import <sys/sysctl.h>
|
||||
#import <sys/utsname.h>
|
||||
#import "YUMIMacroUitls.h"
|
||||
///Tool
|
||||
#import "UIImage+Utils.h"
|
||||
NSString *const adImageName = @"adImageName";
|
||||
NSString *const adUrl = @"adUrl";
|
||||
// 广告显示的时间
|
||||
static int const showtime = 3;
|
||||
|
||||
@interface YUMIAdvertiseRegard()
|
||||
@interface XPAdvertiseView()
|
||||
|
||||
@property (nonatomic, strong) UIImageView *adRegard;
|
||||
@property (nonatomic, strong) UIImageView *adView;//广告图片
|
||||
|
||||
@property (nonatomic, strong) UIButton *computationdownBtuton;
|
||||
@property (nonatomic, strong) UIButton *countdownButton;//倒计时、跳过按钮
|
||||
|
||||
@property (nonatomic, strong) NSTimer *computationIntratemper;
|
||||
@property (nonatomic, strong) NSTimer *countTimer;
|
||||
|
||||
@property (nonatomic, assign) int count;
|
||||
|
||||
@@ -30,22 +33,26 @@ static int const showtime = 3;
|
||||
@end
|
||||
|
||||
|
||||
@implementation YUMIAdvertiseRegard
|
||||
@implementation XPAdvertiseView
|
||||
|
||||
#pragma mark - Initialize Methods
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame {
|
||||
if (self = [super initWithFrame:frame]) {
|
||||
|
||||
_adRegard = [[UIImageView alloc] initWithFrame:frame];
|
||||
_adRegard.userInteractionEnabled = YES;
|
||||
_adRegard.contentMode = UIViewContentModeScaleAspectFill;
|
||||
_adRegard.clipsToBounds = YES;
|
||||
[self addSubview:_adRegard];
|
||||
_adView = [[UIImageView alloc] initWithFrame:frame];
|
||||
_adView.userInteractionEnabled = YES;
|
||||
_adView.contentMode = UIViewContentModeScaleAspectFill;
|
||||
_adView.clipsToBounds = YES;
|
||||
[self addSubview:_adView];
|
||||
|
||||
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dwellBetowardsDirectoryRegardPerformance)];
|
||||
[_adRegard addGestureRecognizer:tap];
|
||||
[self addSubview:self.computationdownBtuton];
|
||||
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onTapAdViewAction)];
|
||||
[_adView addGestureRecognizer:tap];
|
||||
[self addSubview:self.countdownButton];
|
||||
// // 因为倒数跳秒问题,导致无法及时响应事件,经测试提案说无法接受此结果。所以就做成和安卓一样,去掉倒计时和跳过
|
||||
// if ([self needCountDownBtn]) {
|
||||
// [self addSubview:self.countdownButton];
|
||||
// }
|
||||
}
|
||||
return self;
|
||||
}
|
||||
@@ -53,7 +60,7 @@ static int const showtime = 3;
|
||||
#pragma mark - Public Methods
|
||||
|
||||
- (void)show {
|
||||
|
||||
// 倒计时方法1:GCD
|
||||
[self gcdCoundownHander];
|
||||
|
||||
UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;
|
||||
@@ -65,34 +72,37 @@ static int const showtime = 3;
|
||||
|
||||
#pragma mark - Event Response
|
||||
|
||||
- (void)dwellBetowardsDirectoryRegardPerformance {
|
||||
[self prohibitiaplictowardsionearAboutJumpShank:YES];
|
||||
/// 点击闪屏操作
|
||||
- (void)onTapAdViewAction {
|
||||
[self dismissWithJumpHandle:YES];
|
||||
}
|
||||
|
||||
- (void)onTicktackSkipBtuton:(UIButton *)sender {
|
||||
[self prohibitiaplictowardsionearAboutJumpShank:NO];
|
||||
/// 点击跳过按钮
|
||||
- (void)onClickSkipButton:(UIButton *)sender {
|
||||
[self dismissWithJumpHandle:NO];
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - Privite Method
|
||||
|
||||
// GCD倒计时方法
|
||||
- (void)gcdCoundownHander {
|
||||
__block int timeout = showtime;
|
||||
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
|
||||
dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);
|
||||
dispatch_source_set_timer(_timer, DISPATCH_TIME_NOW, 1.0 * NSEC_PER_SEC, 0);
|
||||
dispatch_source_set_timer(_timer, DISPATCH_TIME_NOW, 1.0 * NSEC_PER_SEC, 0); //每秒执行
|
||||
|
||||
dispatch_source_set_event_handler(_timer, ^{
|
||||
|
||||
if (timeout <= 0) {
|
||||
if (timeout <= 0) { //倒计时结束,关闭
|
||||
dispatch_source_cancel(_timer);
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[self prohibitiaplictowardsionearAboutJumpShank:NO];
|
||||
[self dismissWithJumpHandle:NO];
|
||||
});
|
||||
} else {
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
if (self.computationdownBtuton) {
|
||||
[self.computationdownBtuton setTitle:YMLocalizedString(@"YUMI_Advertise_View_0") forState:UIControlStateNormal];
|
||||
if (self.countdownButton) {
|
||||
[self.countdownButton setTitle:YMLocalizedString(@"XPAdvertiseView0") forState:UIControlStateNormal];
|
||||
}
|
||||
});
|
||||
timeout--;
|
||||
@@ -101,10 +111,11 @@ static int const showtime = 3;
|
||||
dispatch_resume(_timer);
|
||||
}
|
||||
|
||||
- (void)prohibitiaplictowardsionearAboutJumpShank:(BOOL)shouldJump {
|
||||
if (self.computationIntratemper) {
|
||||
[self.computationIntratemper invalidate];
|
||||
self.computationIntratemper = nil;
|
||||
// 移除广告页面
|
||||
- (void)dismissWithJumpHandle:(BOOL)shouldJump {
|
||||
if (self.countTimer) {
|
||||
[self.countTimer invalidate];
|
||||
self.countTimer = nil;
|
||||
}
|
||||
|
||||
@kWeakify(self)
|
||||
@@ -118,13 +129,13 @@ static int const showtime = 3;
|
||||
[self removeFromSuperview];
|
||||
self.window = nil;
|
||||
|
||||
!self.disappearHandler ?: self.disappearHandler(shouldJump);
|
||||
!self.dismissHandler ?: self.dismissHandler(shouldJump);
|
||||
}];
|
||||
}
|
||||
|
||||
|
||||
- (NSString *)deviceName {
|
||||
|
||||
// Gets a string with the device model
|
||||
size_t size;
|
||||
int nR = sysctlbyname("hw.machine", NULL, &size, NULL, 0);
|
||||
char *machine = (char *)malloc(size);
|
||||
@@ -134,7 +145,7 @@ static int const showtime = 3;
|
||||
return platform;
|
||||
}
|
||||
|
||||
- (BOOL)needComputtowardsionPubescenceBtuton {
|
||||
- (BOOL)needCountDownBtn {
|
||||
|
||||
NSString *platform = [self deviceName];
|
||||
BOOL needBtn = YES;
|
||||
@@ -154,12 +165,12 @@ static int const showtime = 3;
|
||||
- (void)setFilePath:(NSString *)filePath {
|
||||
_filePath = filePath;
|
||||
UIImage *image = [UIImage imageWithContentsOfFile:filePath];
|
||||
_adRegard.image = [image cutIndictowardse:[UIScreen mainScreen].bounds.size];
|
||||
_adView.image = [image cutImage:[UIScreen mainScreen].bounds.size];
|
||||
}
|
||||
|
||||
- (void)setAdIndicate:(UIImage *)adIndicate {
|
||||
_adIndicate = adIndicate;
|
||||
_adRegard.image = [adIndicate cutIndictowardse:[UIScreen mainScreen].bounds.size];
|
||||
- (void)setAdImage:(UIImage *)adImage {
|
||||
_adImage = adImage;
|
||||
_adView.image = [adImage cutImage:[UIScreen mainScreen].bounds.size];
|
||||
}
|
||||
|
||||
|
||||
@@ -175,20 +186,20 @@ static int const showtime = 3;
|
||||
return _window;
|
||||
}
|
||||
|
||||
- (UIButton *)computationdownBtuton {
|
||||
if (_computationdownBtuton == nil) {
|
||||
- (UIButton *)countdownButton {
|
||||
if (_countdownButton == nil) {
|
||||
CGFloat btnW = 60;
|
||||
CGFloat btnH = 30;
|
||||
_computationdownBtuton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
_computationdownBtuton.frame = CGRectMake(KScreenWidth - btnW - 24, btnH + 10, btnW, btnH);
|
||||
[_computationdownBtuton addTarget:self action:@selector(onTicktackSkipBtuton:) forControlEvents:UIControlEventTouchUpInside];
|
||||
[_computationdownBtuton setTitle:YMLocalizedString(@"YUMI_Advertise_View_1") forState:UIControlStateNormal];
|
||||
_computationdownBtuton.titleLabel.font = [UIFont systemFontOfSize:15];
|
||||
[_computationdownBtuton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
_computationdownBtuton.backgroundColor = [UIColor colorWithRed:38 /255.0 green:38 /255.0 blue:38 /255.0 alpha:0.6];
|
||||
_computationdownBtuton.layer.cornerRadius = 4;
|
||||
_countdownButton = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
_countdownButton.frame = CGRectMake(KScreenWidth - btnW - 24, btnH + 10, btnW, btnH);
|
||||
[_countdownButton addTarget:self action:@selector(onClickSkipButton:) forControlEvents:UIControlEventTouchUpInside];
|
||||
[_countdownButton setTitle:YMLocalizedString(@"XPAdvertiseView1") forState:UIControlStateNormal];
|
||||
_countdownButton.titleLabel.font = [UIFont systemFontOfSize:15];
|
||||
[_countdownButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
|
||||
_countdownButton.backgroundColor = [UIColor colorWithRed:38 /255.0 green:38 /255.0 blue:38 /255.0 alpha:0.6];
|
||||
_countdownButton.layer.cornerRadius = 4;
|
||||
}
|
||||
return _computationdownBtuton;
|
||||
return _countdownButton;
|
||||
}
|
||||
|
||||
@end
|
@@ -1,35 +0,0 @@
|
||||
//
|
||||
// YMAdImageTool.h
|
||||
// YUMI
|
||||
//
|
||||
// Created by YUMI on 2022/10/31.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "AdvertiseMatrix.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface YUMIAdIndicateTool : NSObject
|
||||
+ (instancetype)partowardsiciptowardsionIndictowardseUtensil;
|
||||
|
||||
@property (nonatomic,assign)BOOL isImSurmount;
|
||||
|
||||
- (AdvertiseMatrix *)acquireDirectoryAbstractByvirtueofConcealInMainAbout:(NSString *)link;
|
||||
- (void)preserveDirectoryAbstract:(AdvertiseMatrix *)adInfo;
|
||||
|
||||
- (BOOL)isAccurtowardseExistAboutAccurtowardseRoute:(NSString *)filePath;
|
||||
|
||||
|
||||
- (void)acquireDirectoryvertisingIndictowardse;
|
||||
|
||||
|
||||
- (void)downchamberDirectoryIndictowardseAboutWeebsite:(NSString *)imageUrl imageName:(NSString *)imageName;
|
||||
|
||||
|
||||
- (void)representtowardsionInthecaseofmerIndictowardse;
|
||||
|
||||
|
||||
- (NSString *)acquireAccurtowardseRouteAboutIndictowardseConstitute:(NSString *)imageName;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -1,132 +0,0 @@
|
||||
//
|
||||
// YMAdImageTool.m
|
||||
// YUMI
|
||||
//
|
||||
// Created by YUMI on 2022/10/31.
|
||||
//
|
||||
|
||||
#import "YUMIAdIndicateTool.h"
|
||||
#import <YYCache/YYCache.h>
|
||||
|
||||
#define CACHENAME @"XPUserCache"
|
||||
|
||||
UIKIT_EXTERN NSString * const adImageName;
|
||||
@interface YUMIAdIndicateTool ()
|
||||
@property (nonatomic, strong) YYCache *yyConceal;
|
||||
@property (nonatomic,strong) AdvertiseMatrix *infoMatrix;
|
||||
@end
|
||||
|
||||
static YUMIAdIndicateTool* tool;
|
||||
@implementation YUMIAdIndicateTool
|
||||
|
||||
+ (instancetype)partowardsiciptowardsionIndictowardseUtensil {
|
||||
static dispatch_once_t onceToken;
|
||||
dispatch_once(&onceToken, ^{
|
||||
tool = [[YUMIAdIndicateTool alloc] init];
|
||||
});
|
||||
return tool;
|
||||
}
|
||||
|
||||
- (instancetype)init
|
||||
{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
self.yyConceal = [YYCache cacheWithName:CACHENAME];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (AdvertiseMatrix *)acquireDirectoryAbstractByvirtueofConcealInMainAbout:(NSString *)link {
|
||||
if (link.length > 0) {
|
||||
if ([self.yyConceal containsObjectForKey:link]) {
|
||||
return [self.yyConceal objectForKey:link];
|
||||
}else {
|
||||
return nil;
|
||||
}
|
||||
}else {
|
||||
return nil;
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
|
||||
|
||||
- (void)preserveDirectoryAbstract:(AdvertiseMatrix *)adInfo {
|
||||
self.infoMatrix = adInfo;
|
||||
NSArray *stringArr = [adInfo.pict componentsSeparatedByString:@"/"];
|
||||
NSString *key = stringArr.lastObject;
|
||||
[self.yyConceal setObject:adInfo forKey:key withBlock:^{
|
||||
|
||||
}];
|
||||
|
||||
[self acquireDirectoryvertisingIndictowardse];
|
||||
}
|
||||
|
||||
|
||||
- (BOOL)isAccurtowardseExistAboutAccurtowardseRoute:(NSString *)filePath {
|
||||
NSFileManager *fileManager = [NSFileManager defaultManager];
|
||||
BOOL isDirectory = FALSE;
|
||||
return [fileManager fileExistsAtPath:filePath isDirectory:&isDirectory];
|
||||
}
|
||||
|
||||
|
||||
- (void)acquireDirectoryvertisingIndictowardse {
|
||||
|
||||
if (self.infoMatrix.pict.length > 0) {
|
||||
NSString *imageUrl = self.infoMatrix.pict;
|
||||
|
||||
NSArray *stringArr = [imageUrl componentsSeparatedByString:@"/"];
|
||||
NSString *imageName = stringArr.lastObject;
|
||||
|
||||
|
||||
NSString *filePath = [self acquireAccurtowardseRouteAboutIndictowardseConstitute:imageName];
|
||||
BOOL isExist = [self isAccurtowardseExistAboutAccurtowardseRoute:filePath];
|
||||
if (!isExist){
|
||||
[self downchamberDirectoryIndictowardseAboutWeebsite:imageUrl imageName:imageName];
|
||||
}
|
||||
}else {
|
||||
[self representtowardsionInthecaseofmerIndictowardse];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
- (void)downchamberDirectoryIndictowardseAboutWeebsite:(NSString *)imageUrl imageName:(NSString *)imageName {
|
||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
||||
|
||||
NSString *encode = [imageUrl stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
|
||||
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:encode]];
|
||||
UIImage *image = [UIImage imageWithData:data];
|
||||
|
||||
NSString *filePath = [self acquireAccurtowardseRouteAboutIndictowardseConstitute:imageName];
|
||||
if ([UIImagePNGRepresentation(image) writeToFile:filePath atomically:YES]) {
|
||||
[self representtowardsionInthecaseofmerIndictowardse];
|
||||
[[NSUserDefaults standardUserDefaults] setValue:imageName forKey:adImageName];
|
||||
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||
}else{
|
||||
[self representtowardsionInthecaseofmerIndictowardse];
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
- (void)representtowardsionInthecaseofmerIndictowardse {
|
||||
NSString *imageName = [[NSUserDefaults standardUserDefaults] valueForKey:adImageName];
|
||||
if (imageName) {
|
||||
NSString *filePath = [self acquireAccurtowardseRouteAboutIndictowardseConstitute:imageName];
|
||||
NSFileManager *fileManager = [NSFileManager defaultManager];
|
||||
[fileManager removeItemAtPath:filePath error:nil];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
- (NSString *)acquireAccurtowardseRouteAboutIndictowardseConstitute:(NSString *)imageName {
|
||||
if (imageName) {
|
||||
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES);
|
||||
NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:imageName];
|
||||
|
||||
return filePath;
|
||||
}
|
||||
|
||||
return nil;
|
||||
}
|
||||
@end
|
@@ -1,25 +0,0 @@
|
||||
//
|
||||
// YMAdvertiseView.h
|
||||
// YUMI
|
||||
//
|
||||
// Created by YUMI on 2022/10/31.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface YUMIAdvertiseRegard : UIView
|
||||
|
||||
|
||||
- (void)show;
|
||||
|
||||
|
||||
@property (nonatomic, copy) NSString *filePath;
|
||||
|
||||
@property (nonatomic, strong) UIImage *adIndicate;
|
||||
|
||||
@property (nonatomic, copy) void(^disappearHandler)(BOOL shouldJump);
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
@@ -13,45 +13,67 @@
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface DJDKMIMOMColor : NSObject
|
||||
+ (UIColor *)aplictowardsionMainPrettify;
|
||||
+ (UIColor *)aplictowardsionUnderlinePrettify;
|
||||
+ (UIColor *)aplictowardsionUnderlinePrettify1;
|
||||
+ (UIColor *)aplictowardsionUnderlinePrettify2;
|
||||
/// 主题色0x9682FF
|
||||
+ (UIColor *)appMainColor;
|
||||
///强调色 #248CFE
|
||||
+ (UIColor *)appEmphasizeColor;
|
||||
///强调色1 0xBF36FF
|
||||
+ (UIColor *)appEmphasizeColor1;
|
||||
///强调色2 0xFB486A
|
||||
+ (UIColor *)appEmphasizeColor2;
|
||||
/* ------页面相关颜色 START------ */
|
||||
/// view的背景色 0xF3F5FA
|
||||
+ (UIColor *)appBackgroundColor;
|
||||
/// cell的背景色 0xFFFFFF
|
||||
+ (UIColor *)appCellBackgroundColor;
|
||||
///正文颜色 0x333333
|
||||
+ (UIColor *)mainTextColor;
|
||||
/// 二级文字颜色 0x666666
|
||||
+ (UIColor *)secondTextColor;
|
||||
///三级文字的颜色 0x999999
|
||||
+ (UIColor *)textThirdColor;
|
||||
///分割线的颜色 0xE8E8E8
|
||||
+ (UIColor *)dividerColor;
|
||||
/* ------页面相关颜色 END------ */
|
||||
|
||||
+ (UIColor *)aplictowardsionEncouragegroundPrettify;
|
||||
+ (UIColor *)aplictowardsionElementEncouragegroundPrettify;
|
||||
+ (UIColor *)mainEssayPrettify;
|
||||
+ (UIColor *)instantEssayPrettify;
|
||||
+ (UIColor *)essayTertiusPrettify;
|
||||
+ (UIColor *)dividerPrettify;
|
||||
/* ------Button 相关颜色 START------ */
|
||||
/// button 可用 渐变色的开始 0xFFA936
|
||||
+ (UIColor *)confirmButtonGradientStartColor;
|
||||
/// button 可用 渐变色的中间 #9CB3FF
|
||||
+ (UIColor *)confirmButtonGradientMiddleColor;
|
||||
/// button 可用 渐变色的开始 0xFFCB47
|
||||
+ (UIColor *)confirmButtonGradientEndColor;
|
||||
/// 确定的按钮文字颜色 #FFFFFF
|
||||
+ (UIColor *)confirmButtonTextColor;
|
||||
/// 取消按钮 渐变色的开始 0xF7DDBF
|
||||
+ (UIColor *)cancelButtonGradientStartColor;
|
||||
/// 取消按钮 渐变色的结束 0xF7E8C4
|
||||
+ (UIColor *)cancelButtonGradientEndColor;
|
||||
/// 取消的按钮文字颜色 0xFFA936
|
||||
+ (UIColor *)cancelButtonTextColor;
|
||||
/// 取消按钮单一普通背景色 0xFFCE4E
|
||||
+ (UIColor *)cancelButtonNormalBgColor;
|
||||
/// 按钮不可点击背景色 0xD2D5D7
|
||||
+ (UIColor *)disableButtonColor;
|
||||
/// 按钮不可点击文字颜色 0xF9F9F9
|
||||
+ (UIColor *)disableButtonTextColor;
|
||||
/* ------Button 相关颜色 END------ */
|
||||
|
||||
/* ------弹窗相关颜色 START------ */
|
||||
+ (UIColor *)alertBackgroundColor;
|
||||
+ (UIColor *)alertTitleColor;
|
||||
+ (UIColor *)alertMessageColor;
|
||||
+ (UIColor *)actionSeparatorColor;
|
||||
/* ------弹窗相关颜色 END------ */
|
||||
|
||||
///tabbar 没有点击的时候颜色 0x333333, 0.4
|
||||
+ (UIColor *)tabbarNormalColor;
|
||||
/// tabbar的View的color 0xFFFFFF
|
||||
+ (UIColor *)tabbarViewColor;
|
||||
|
||||
+ (UIColor *)acknowledgementBtutonObliquityInititowardsePrettify;
|
||||
+ (UIColor *)acknowledgementBtutonObliquityMiddlePrettify;
|
||||
+ (UIColor *)acknowledgementBtutonObliquityConcludePrettify;
|
||||
+ (UIColor *)acknowledgementBtutonEssayPrettify;
|
||||
+ (UIColor *)revoctowardsionBtutonObliquityInititowardsePrettify;
|
||||
+ (UIColor *)revoctowardsionBtutonObliquityConcludePrettify;
|
||||
+ (UIColor *)revoctowardsionBtutonEssayPrettify;
|
||||
+ (UIColor *)revoctowardsionBtutonOrdinaryBackgroundPrettify;
|
||||
+ (UIColor *)prohibitionBtutonPrettify;
|
||||
+ (UIColor *)prohibitionBtutonEssayPrettify;
|
||||
+ (UIColor *)colorWithHexString:(NSString *)hexString;
|
||||
|
||||
|
||||
|
||||
+ (UIColor *)precautiousEncouragegroundPrettify;
|
||||
+ (UIColor *)precautiousChampionPrettify;
|
||||
+ (UIColor *)precautiousCommunictowardsionPrettify;
|
||||
+ (UIColor *)performanceSepartowardsorPrettify;
|
||||
|
||||
|
||||
+ (UIColor *)tabbarOrdinaryPrettify;
|
||||
+ (UIColor *)tabbarRegardPrettify;
|
||||
|
||||
+ (UIColor *)colorAboutHexBWSttr:(NSString *)hexString;
|
||||
|
||||
+ (UIColor *)introjectionEssayPrettify;
|
||||
+ (UIColor *)inputTextColor;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -1,5 +1,5 @@
|
||||
//
|
||||
// ThemeColor.m
|
||||
// DJDKMIMOMColor.m
|
||||
// YUMI
|
||||
//
|
||||
// Created by YUMI on 2021/9/9.
|
||||
@@ -8,129 +8,151 @@
|
||||
#import "DJDKMIMOMColor.h"
|
||||
|
||||
@implementation DJDKMIMOMColor
|
||||
+ (UIColor *)aplictowardsionMainPrettify {
|
||||
/// 主题色0x9682FF
|
||||
+ (UIColor *)appMainColor {
|
||||
return UIColorFromRGB(0x9682FF);
|
||||
}
|
||||
|
||||
+ (UIColor *)aplictowardsionUnderlinePrettify {
|
||||
///强调色 #248CFE
|
||||
+ (UIColor *)appEmphasizeColor {
|
||||
return UIColorFromRGB(0x248CFE);
|
||||
}
|
||||
|
||||
+ (UIColor *)aplictowardsionUnderlinePrettify1 {
|
||||
///强调色1 0xBF36FF
|
||||
+ (UIColor *)appEmphasizeColor1 {
|
||||
return UIColorFromRGB(0xBF36FF);
|
||||
}
|
||||
|
||||
+ (UIColor *)aplictowardsionUnderlinePrettify2 {
|
||||
///强调色2 0xFB486A
|
||||
+ (UIColor *)appEmphasizeColor2 {
|
||||
return UIColorFromRGB(0xFB486A);
|
||||
}
|
||||
|
||||
|
||||
+ (UIColor *)aplictowardsionEncouragegroundPrettify {
|
||||
/* ------页面相关颜色 START------ */
|
||||
/// view的背景色 0xF3F5FA
|
||||
+ (UIColor *)appBackgroundColor {
|
||||
return UIColorFromRGB(0xF3F5FA);
|
||||
}
|
||||
+ (UIColor *)aplictowardsionElementEncouragegroundPrettify {
|
||||
/// cell的背景色 0xFFFFFF
|
||||
+ (UIColor *)appCellBackgroundColor {
|
||||
return UIColorFromRGB(0xFFFFFF);
|
||||
}
|
||||
+ (UIColor *)mainEssayPrettify {
|
||||
///正文颜色 0x333333
|
||||
+ (UIColor *)mainTextColor {
|
||||
return UIColorFromRGB(0x161958);
|
||||
}
|
||||
+ (UIColor *)instantEssayPrettify {
|
||||
/// 二级文字颜色 0x666666
|
||||
+ (UIColor *)secondTextColor {
|
||||
return UIColorFromRGB(0x8A8CAB);
|
||||
}
|
||||
+ (UIColor *)essayTertiusPrettify {
|
||||
///三级文字的颜色 0x999999
|
||||
+ (UIColor *)textThirdColor {
|
||||
return UIColorFromRGB(0xBABBCD);
|
||||
}
|
||||
+ (UIColor *)dividerPrettify {
|
||||
///分割线的颜色 0xE8E8E8
|
||||
+ (UIColor *)dividerColor {
|
||||
return UIColorFromRGB(0xE8E8E8);
|
||||
}
|
||||
/* ------页面相关颜色 END------ */
|
||||
|
||||
|
||||
|
||||
+ (UIColor *)acknowledgementBtutonObliquityInititowardsePrettify {
|
||||
/* ------Button 相关颜色 START------ */
|
||||
/// button 可用 渐变色的开始 0x3CAAFF
|
||||
+ (UIColor *)confirmButtonGradientStartColor {
|
||||
return UIColorFromRGB(0x3CAAFF);
|
||||
}
|
||||
+ (UIColor *)acknowledgementBtutonObliquityConcludePrettify {
|
||||
/// button 可用 渐变色的开始 0xB176FF
|
||||
+ (UIColor *)confirmButtonGradientEndColor {
|
||||
return UIColorFromRGB(0xB176FF);
|
||||
}
|
||||
+ (UIColor *)acknowledgementBtutonEssayPrettify {
|
||||
/// 确定的按钮文字颜色 #FFFFFF
|
||||
+ (UIColor *)confirmButtonTextColor {
|
||||
return UIColorFromRGB(0xFFFFFF);
|
||||
}
|
||||
+ (UIColor *)revoctowardsionBtutonObliquityInititowardsePrettify {
|
||||
/// 取消按钮 渐变色的开始 0xF7DDBF
|
||||
+ (UIColor *)cancelButtonGradientStartColor {
|
||||
return UIColorFromRGB(0xCEEFFD);
|
||||
}
|
||||
|
||||
+ (UIColor *)acknowledgementBtutonObliquityMiddlePrettify {
|
||||
return [self colorAboutHexBWSttr:@"#9CB3FF"];
|
||||
/// button 可用 渐变色的中间 #9CB3FF
|
||||
+ (UIColor *)confirmButtonGradientMiddleColor {
|
||||
return [self colorWithHexString:@"#9CB3FF"];
|
||||
}
|
||||
+ (UIColor *)revoctowardsionBtutonObliquityConcludePrettify {
|
||||
/// 取消按钮 渐变色的结束 0xF7E8C4
|
||||
+ (UIColor *)cancelButtonGradientEndColor {
|
||||
return UIColorFromRGB(0xD2F4F4);
|
||||
}
|
||||
+ (UIColor *)revoctowardsionBtutonEssayPrettify {
|
||||
/// 取消的按钮文字颜色 0xFFA936
|
||||
+ (UIColor *)cancelButtonTextColor {
|
||||
return UIColorFromRGB(0x5FCCE4);
|
||||
}
|
||||
+ (UIColor *)revoctowardsionBtutonOrdinaryBackgroundPrettify {
|
||||
/// 取消按钮单一普通背景色 0xFFCE4E
|
||||
+ (UIColor *)cancelButtonNormalBgColor {
|
||||
return UIColorFromRGB(0xCEEFFD);
|
||||
}
|
||||
+ (UIColor *)prohibitionBtutonPrettify {
|
||||
/// 按钮不可点击背景色 0xD2D5D7
|
||||
+ (UIColor *)disableButtonColor {
|
||||
return UIColorFromRGB(0xCEEFFD);
|
||||
}
|
||||
+ (UIColor *)prohibitionBtutonEssayPrettify {
|
||||
/// 按钮不可点击文字颜色 0xF9F9F9
|
||||
+ (UIColor *)disableButtonTextColor {
|
||||
return UIColorFromRGB(0x5FCCE4);
|
||||
}
|
||||
/* ------Button 相关颜色 END------ */
|
||||
|
||||
|
||||
|
||||
+ (UIColor *)precautiousEncouragegroundPrettify {
|
||||
/* ------弹窗相关颜色 START------ */
|
||||
+ (UIColor *)alertBackgroundColor {
|
||||
return UIColorFromRGB(0xFFFFFF);
|
||||
}
|
||||
+ (UIColor *)precautiousChampionPrettify {
|
||||
+ (UIColor *)alertTitleColor {
|
||||
return UIColorFromRGB(0x333333);
|
||||
}
|
||||
+ (UIColor *)precautiousCommunictowardsionPrettify {
|
||||
+ (UIColor *)alertMessageColor {
|
||||
return UIColorFromRGB(0x333333);
|
||||
}
|
||||
+ (UIColor *)performanceSepartowardsorPrettify {
|
||||
+ (UIColor *)actionSeparatorColor {
|
||||
return UIColorFromRGB(0xF0F0F0);
|
||||
}
|
||||
/* ------弹窗相关颜色 END------ */
|
||||
|
||||
|
||||
+ (UIColor *)tabbarOrdinaryPrettify {
|
||||
///tabbar 没有点击的时候颜色 0x333333, 0.4
|
||||
+ (UIColor *)tabbarNormalColor {
|
||||
return UIColorRGBAlpha(0x333333, 0.4);
|
||||
}
|
||||
+ (UIColor *)tabbarRegardPrettify {
|
||||
/// tabbar的View的color 0xFFFFFF
|
||||
+ (UIColor *)tabbarViewColor {
|
||||
return UIColorFromRGB(0xFFFFFF);
|
||||
}
|
||||
|
||||
+ (UIColor *)colorAboutHexBWSttr: (NSString *) hexString {
|
||||
+ (UIColor *)colorWithHexString: (NSString *) hexString {
|
||||
if (hexString.length == 0) {
|
||||
return [UIColor blackColor];
|
||||
}
|
||||
NSString *colorString = [[hexString stringByReplacingOccurrencesOfString: @"#" withString: @""] uppercaseString];
|
||||
CGFloat alpha, red, blue, green;
|
||||
switch ([colorString length]) {
|
||||
case 3:
|
||||
case 3: // #RGB
|
||||
alpha = 1.0f;
|
||||
red = [self colorComponentByvirtueof: colorString start: 0 length: 1];
|
||||
green = [self colorComponentByvirtueof: colorString start: 1 length: 1];
|
||||
blue = [self colorComponentByvirtueof: colorString start: 2 length: 1];
|
||||
red = [self colorComponentFrom: colorString start: 0 length: 1];
|
||||
green = [self colorComponentFrom: colorString start: 1 length: 1];
|
||||
blue = [self colorComponentFrom: colorString start: 2 length: 1];
|
||||
break;
|
||||
case 4:
|
||||
alpha = [self colorComponentByvirtueof: colorString start: 0 length: 1];
|
||||
red = [self colorComponentByvirtueof: colorString start: 1 length: 1];
|
||||
green = [self colorComponentByvirtueof: colorString start: 2 length: 1];
|
||||
blue = [self colorComponentByvirtueof: colorString start: 3 length: 1];
|
||||
case 4: // #ARGB
|
||||
alpha = [self colorComponentFrom: colorString start: 0 length: 1];
|
||||
red = [self colorComponentFrom: colorString start: 1 length: 1];
|
||||
green = [self colorComponentFrom: colorString start: 2 length: 1];
|
||||
blue = [self colorComponentFrom: colorString start: 3 length: 1];
|
||||
break;
|
||||
case 6:
|
||||
case 6: // #RRGGBB
|
||||
alpha = 1.0f;
|
||||
red = [self colorComponentByvirtueof: colorString start: 0 length: 2];
|
||||
green = [self colorComponentByvirtueof: colorString start: 2 length: 2];
|
||||
blue = [self colorComponentByvirtueof: colorString start: 4 length: 2];
|
||||
red = [self colorComponentFrom: colorString start: 0 length: 2];
|
||||
green = [self colorComponentFrom: colorString start: 2 length: 2];
|
||||
blue = [self colorComponentFrom: colorString start: 4 length: 2];
|
||||
break;
|
||||
case 8:
|
||||
alpha = [self colorComponentByvirtueof: colorString start: 0 length: 2];
|
||||
red = [self colorComponentByvirtueof: colorString start: 2 length: 2];
|
||||
green = [self colorComponentByvirtueof: colorString start: 4 length: 2];
|
||||
blue = [self colorComponentByvirtueof: colorString start: 6 length: 2];
|
||||
case 8: // #AARRGGBB
|
||||
alpha = [self colorComponentFrom: colorString start: 0 length: 2];
|
||||
red = [self colorComponentFrom: colorString start: 2 length: 2];
|
||||
green = [self colorComponentFrom: colorString start: 4 length: 2];
|
||||
blue = [self colorComponentFrom: colorString start: 6 length: 2];
|
||||
break;
|
||||
default:
|
||||
[NSException raise:@"Invalid color value" format: @"Color value %@ is invalid. It should be a hex value of the form #RBG, #ARGB, #RRGGBB, or #AARRGGBB", hexString];
|
||||
@@ -139,7 +161,7 @@
|
||||
return [UIColor colorWithRed: red green: green blue: blue alpha: alpha];
|
||||
}
|
||||
|
||||
+ (CGFloat) colorComponentByvirtueof: (NSString *) string start: (NSUInteger) start length: (NSUInteger) length {
|
||||
+ (CGFloat) colorComponentFrom: (NSString *) string start: (NSUInteger) start length: (NSUInteger) length {
|
||||
NSString *substring = [string substringWithRange: NSMakeRange(start, length)];
|
||||
NSString *fullHex = length == 2 ? substring : [NSString stringWithFormat: @"%@%@", substring, substring];
|
||||
unsigned hexComponent;
|
||||
@@ -147,8 +169,9 @@
|
||||
return hexComponent / 255.0;
|
||||
}
|
||||
|
||||
+ (UIColor *)introjectionEssayPrettify {
|
||||
return [self colorAboutHexBWSttr:@"#1F1A4E"];
|
||||
///输入框的文本颜色 #1F1A4E
|
||||
+ (UIColor *)inputTextColor {
|
||||
return [self colorWithHexString:@"#1F1A4E"];
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -1,7 +1,6 @@
|
||||
{"info": {"author": "xcode", "version": 1}}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
|
@@ -1,7 +1,6 @@
|
||||
{"info": {"author": "xcode", "version": 1}}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
|
@@ -1,7 +1,6 @@
|
||||
{"info": {"author": "xcode", "version": 1}}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
|
@@ -1,7 +1,54 @@
|
||||
{"images": [{"idiom": "universal", "scale": "1x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "idiom": "universal", "scale": "1x"}, {"filename": "chat_icon_emoji_black_l_normal@2x.png", "idiom": "universal", "scale": "2x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "filename": "chat_icon_emoji_black_l_normal@2x-1.png", "idiom": "universal", "scale": "2x"}, {"filename": "chat_icon_emoji_black_l_normal@3x.png", "idiom": "universal", "scale": "3x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "filename": "chat_icon_emoji_black_l_normal@3x-1.png", "idiom": "universal", "scale": "3x"}], "info": {"author": "xcode", "version": 1}}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "chat_icon_emoji_black_l_normal@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"filename" : "chat_icon_emoji_black_l_normal@2x-1.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "chat_icon_emoji_black_l_normal@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"filename" : "chat_icon_emoji_black_l_normal@3x-1.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 822 B After Width: | Height: | Size: 1017 B |
Before Width: | Height: | Size: 781 B After Width: | Height: | Size: 973 B |
Before Width: | Height: | Size: 756 B After Width: | Height: | Size: 781 B |
Before Width: | Height: | Size: 779 B After Width: | Height: | Size: 781 B |
@@ -1,7 +1,54 @@
|
||||
{"images": [{"idiom": "universal", "scale": "1x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "idiom": "universal", "scale": "1x"}, {"filename": "chat_icon_more_black_l_normal@2x.png", "idiom": "universal", "scale": "2x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "filename": "chat_icon_more_black_l_normal@2x-1.png", "idiom": "universal", "scale": "2x"}, {"filename": "chat_icon_more_black_l_normal@3x.png", "idiom": "universal", "scale": "3x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "filename": "chat_icon_more_black_l_normal@3x-1.png", "idiom": "universal", "scale": "3x"}], "info": {"author": "xcode", "version": 1}}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "chat_icon_more_black_l_normal@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"filename" : "chat_icon_more_black_l_normal@2x-1.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "chat_icon_more_black_l_normal@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"filename" : "chat_icon_more_black_l_normal@3x-1.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 614 B After Width: | Height: | Size: 677 B |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 639 B After Width: | Height: | Size: 653 B |
@@ -1,7 +1,54 @@
|
||||
{"images": [{"idiom": "universal", "scale": "1x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "idiom": "universal", "scale": "1x"}, {"filename": "chat_icon_keyboard_black_l_normal@2x.png", "idiom": "universal", "scale": "2x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "filename": "chat_icon_keyboard_black_l_normal@2x-1.png", "idiom": "universal", "scale": "2x"}, {"filename": "chat_icon_keyboard_black_l_normal@3x.png", "idiom": "universal", "scale": "3x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "filename": "chat_icon_keyboard_black_l_normal@3x-1.png", "idiom": "universal", "scale": "3x"}], "info": {"author": "xcode", "version": 1}}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "chat_icon_keyboard_black_l_normal@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"filename" : "chat_icon_keyboard_black_l_normal@2x-1.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "chat_icon_keyboard_black_l_normal@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"filename" : "chat_icon_keyboard_black_l_normal@3x-1.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 806 B After Width: | Height: | Size: 986 B |
Before Width: | Height: | Size: 731 B After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 820 B After Width: | Height: | Size: 856 B |
Before Width: | Height: | Size: 940 B After Width: | Height: | Size: 971 B |
@@ -1,7 +1,54 @@
|
||||
{"images": [{"idiom": "universal", "scale": "1x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "idiom": "universal", "scale": "1x"}, {"filename": "chat_icon_voice@2x.png", "idiom": "universal", "scale": "2x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "filename": "chat_icon_voice_dark@2x.png", "idiom": "universal", "scale": "2x"}, {"filename": "chat_icon_voice@3x.png", "idiom": "universal", "scale": "3x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "filename": "chat_icon_voice_dark@3x.png", "idiom": "universal", "scale": "3x"}], "info": {"author": "xcode", "version": 1}}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "chat_icon_voice@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"filename" : "chat_icon_voice_dark@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "chat_icon_voice@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"filename" : "chat_icon_voice_dark@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 969 B After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 855 B After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 971 B After Width: | Height: | Size: 1.4 KiB |
@@ -1,7 +1,22 @@
|
||||
{"images": [{"idiom": "universal", "scale": "1x"}, {"filename": "compose_emotion_delete_highlighted.png", "idiom": "universal", "scale": "2x"}, {"filename": "compose_emotion_delete_highlighted-1.png", "idiom": "universal", "scale": "3x"}], "info": {"author": "xcode", "version": 1}}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "compose_emotion_delete_highlighted.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "compose_emotion_delete_highlighted-1.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 647 B After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 543 B After Width: | Height: | Size: 1.2 KiB |
@@ -1,7 +1,52 @@
|
||||
{"images": [{"idiom": "universal", "scale": "1x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "idiom": "universal", "scale": "1x"}, {"filename": "white_rect.png", "idiom": "universal", "scale": "2x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "filename": "white_btn_dark.png", "idiom": "universal", "scale": "2x"}, {"idiom": "universal", "scale": "3x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "idiom": "universal", "scale": "3x"}], "info": {"author": "xcode", "version": 1}}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "white_rect.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"filename" : "white_btn_dark.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 108 B After Width: | Height: | Size: 543 B |
Before Width: | Height: | Size: 100 B After Width: | Height: | Size: 83 B |
@@ -1,7 +1,52 @@
|
||||
{"images": [{"idiom": "universal", "scale": "1x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "idiom": "universal", "scale": "1x"}, {"filename": "white_rect.png", "idiom": "universal", "scale": "2x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "filename": "white_input_btn_dark.png", "idiom": "universal", "scale": "2x"}, {"idiom": "universal", "scale": "3x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "idiom": "universal", "scale": "3x"}], "info": {"author": "xcode", "version": 1}}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "white_rect.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"filename" : "white_input_btn_dark.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 102 B After Width: | Height: | Size: 542 B |
Before Width: | Height: | Size: 100 B After Width: | Height: | Size: 83 B |
@@ -1,7 +1,52 @@
|
||||
{"images": [{"idiom": "universal", "scale": "1x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "idiom": "universal", "scale": "1x"}, {"filename": "white_input_press_btn.png", "idiom": "universal", "scale": "2x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "filename": "white_input_press_btn_dark.png", "idiom": "universal", "scale": "2x"}, {"idiom": "universal", "scale": "3x"}, {"appearances": [{"appearance": "luminosity", "value": "dark"}], "idiom": "universal", "scale": "3x"}], "info": {"author": "xcode", "version": 1}}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "white_input_press_btn.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"filename" : "white_input_press_btn_dark.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.1 KiB |
@@ -1,135 +1,130 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PopoEmoticons>
|
||||
<Catalog ID="default" Title="emoji" Icon="emoj_s_normal.png" IconPressed="emoj_s_pressed.png">
|
||||
<Emoticon ID="emoticon_emoji_01" Tag="[可爱]" File="emoji_01.png" />
|
||||
<Emoticon ID="emoticon_emoji_0" Tag="[大笑]" File="emoji_00.png" />
|
||||
<Emoticon ID="emoticon_emoji_02" Tag="[色]" File="emoji_02.png" />
|
||||
<Emoticon ID="emoticon_emoji_03" Tag="[嘘]" File="emoji_03.png" />
|
||||
<Emoticon ID="emoticon_emoji_04" Tag="[亲]" File="emoji_04.png" />
|
||||
<Emoticon ID="emoticon_emoji_05" Tag="[呆]" File="emoji_05.png" />
|
||||
<Emoticon ID="emoticon_emoji_06" Tag="[口水]" File="emoji_06.png" />
|
||||
<Emoticon ID="emoticon_emoji_145" Tag="[汗]" File="emoji_145.png" />
|
||||
<Emoticon ID="emoticon_emoji_07" Tag="[呲牙]" File="emoji_07.png" />
|
||||
<Emoticon ID="emoticon_emoji_08" Tag="[鬼脸]" File="emoji_08.png" />
|
||||
<Emoticon ID="emoticon_emoji_09" Tag="[害羞]" File="emoji_09.png" />
|
||||
<Emoticon ID="emoticon_emoji_10" Tag="[偷笑]" File="emoji_10.png" />
|
||||
<Emoticon ID="emoticon_emoji_11" Tag="[调皮]" File="emoji_11.png" />
|
||||
<Emoticon ID="emoticon_emoji_12" Tag="[可怜]" File="emoji_12.png" />
|
||||
<Emoticon ID="emoticon_emoji_13" Tag="[敲]" File="emoji_13.png" />
|
||||
<Emoticon ID="emoticon_emoji_14" Tag="[惊讶]" File="emoji_14.png" />
|
||||
<Emoticon ID="emoticon_emoji_15" Tag="[流感]" File="emoji_15.png" />
|
||||
<Emoticon ID="emoticon_emoji_16" Tag="[委屈]" File="emoji_16.png" />
|
||||
<Emoticon ID="emoticon_emoji_17" Tag="[流泪]" File="emoji_17.png" />
|
||||
<Emoticon ID="emoticon_emoji_18" Tag="[嚎哭]" File="emoji_18.png" />
|
||||
<Emoticon ID="emoticon_emoji_19" Tag="[惊恐]" File="emoji_19.png" />
|
||||
<Emoticon ID="emoticon_emoji_20" Tag="[怒]" File="emoji_20.png" />
|
||||
<Emoticon ID="emoticon_emoji_21" Tag="[酷]" File="emoji_21.png" />
|
||||
<Emoticon ID="emoticon_emoji_22" Tag="[不说]" File="emoji_22.png" />
|
||||
<Emoticon ID="emoticon_emoji_23" Tag="[鄙视]" File="emoji_23.png" />
|
||||
<Emoticon ID="emoticon_emoji_24" Tag="[阿弥陀佛]" File="emoji_24.png" />
|
||||
<Emoticon ID="emoticon_emoji_25" Tag="[奸笑]" File="emoji_25.png" />
|
||||
<Emoticon ID="emoticon_emoji_26" Tag="[睡着]" File="emoji_26.png" />
|
||||
<Emoticon ID="emoticon_emoji_27" Tag="[口罩]" File="emoji_27.png" />
|
||||
<Emoticon ID="emoticon_emoji_28" Tag="[努力]" File="emoji_28.png" />
|
||||
<Emoticon ID="emoticon_emoji_29" Tag="[抠鼻孔]" File="emoji_29.png" />
|
||||
<Emoticon ID="emoticon_emoji_30" Tag="[疑问]" File="emoji_30.png" />
|
||||
<Emoticon ID="emoticon_emoji_31" Tag="[怒骂]" File="emoji_31.png" />
|
||||
<Emoticon ID="emoticon_emoji_32" Tag="[晕]" File="emoji_32.png" />
|
||||
<Emoticon ID="emoticon_emoji_33" Tag="[呕吐]" File="emoji_33.png" />
|
||||
<Emoticon ID="emoticon_emoji_160" Tag="[拜一拜]" File="emoji_160.png" />
|
||||
<Emoticon ID="emoticon_emoji_161" Tag="[惊喜]" File="emoji_161.png" />
|
||||
<Emoticon ID="emoticon_emoji_162" Tag="[流汗]" File="emoji_162.png" />
|
||||
<Emoticon ID="emoticon_emoji_163" Tag="[卖萌]" File="emoji_163.png" />
|
||||
<Emoticon ID="emoticon_emoji_164" Tag="[默契眨眼]" File="emoji_164.png" />
|
||||
<Emoticon ID="emoticon_emoji_165" Tag="[烧香拜佛]" File="emoji_165.png" />
|
||||
<Emoticon ID="emoticon_emoji_166" Tag="[晚安]" File="emoji_166.png" />
|
||||
<Emoticon ID="emoticon_emoji_34" Tag="[强]" File="emoji_34.png" />
|
||||
<Emoticon ID="emoticon_emoji_35" Tag="[弱]" File="emoji_35.png" />
|
||||
<Emoticon ID="emoticon_emoji_36" Tag="[OK]" File="emoji_36.png" />
|
||||
<Emoticon ID="emoticon_emoji_37" Tag="[拳头]" File="emoji_37.png" />
|
||||
<Emoticon ID="emoticon_emoji_38" Tag="[胜利]" File="emoji_38.png" />
|
||||
<Emoticon ID="emoticon_emoji_39" Tag="[鼓掌]" File="emoji_39.png" />
|
||||
<Emoticon ID="emoticon_emoji_200" Tag="[握手]" File="emoji_200.png" />
|
||||
<Emoticon ID="emoticon_emoji_40" Tag="[发怒]" File="emoji_40.png" />
|
||||
<Emoticon ID="emoticon_emoji_41" Tag="[骷髅]" File="emoji_41.png" />
|
||||
<Emoticon ID="emoticon_emoji_42" Tag="[便便]" File="emoji_42.png" />
|
||||
<Emoticon ID="emoticon_emoji_43" Tag="[火]" File="emoji_43.png" />
|
||||
<Emoticon ID="emoticon_emoji_44" Tag="[溜]" File="emoji_44.png" />
|
||||
<Emoticon ID="emoticon_emoji_45" Tag="[爱心]" File="emoji_45.png" />
|
||||
<Emoticon ID="emoticon_emoji_46" Tag="[心碎]" File="emoji_46.png" />
|
||||
<Emoticon ID="emoticon_emoji_47" Tag="[钟情]" File="emoji_47.png" />
|
||||
<Emoticon ID="emoticon_emoji_48" Tag="[唇]" File="emoji_48.png" />
|
||||
<Emoticon ID="emoticon_emoji_49" Tag="[戒指]" File="emoji_49.png" />
|
||||
<Emoticon ID="emoticon_emoji_50" Tag="[钻石]" File="emoji_50.png" />
|
||||
<Emoticon ID="emoticon_emoji_51" Tag="[太阳]" File="emoji_51.png" />
|
||||
<Emoticon ID="emoticon_emoji_52" Tag="[有时晴]" File="emoji_52.png" />
|
||||
<Emoticon ID="emoticon_emoji_53" Tag="[多云]" File="emoji_53.png" />
|
||||
<Emoticon ID="emoticon_emoji_54" Tag="[雷]" File="emoji_54.png" />
|
||||
<Emoticon ID="emoticon_emoji_55" Tag="[雨]" File="emoji_55.png" />
|
||||
<Emoticon ID="emoticon_emoji_56" Tag="[雪花]" File="emoji_56.png" />
|
||||
<Emoticon ID="emoticon_emoji_57" Tag="[爱人]" File="emoji_57.png" />
|
||||
<Emoticon ID="emoticon_emoji_58" Tag="[帽子]" File="emoji_58.png" />
|
||||
<Emoticon ID="emoticon_emoji_59" Tag="[皇冠]" File="emoji_59.png" />
|
||||
<Emoticon ID="emoticon_emoji_60" Tag="[篮球]" File="emoji_60.png" />
|
||||
<Emoticon ID="emoticon_emoji_61" Tag="[足球]" File="emoji_61.png" />
|
||||
<Emoticon ID="emoticon_emoji_62" Tag="[垒球]" File="emoji_62.png" />
|
||||
<Emoticon ID="emoticon_emoji_63" Tag="[网球]" File="emoji_63.png" />
|
||||
<Emoticon ID="emoticon_emoji_64" Tag="[台球]" File="emoji_64.png" />
|
||||
<Emoticon ID="emoticon_emoji_65" Tag="[咖啡]" File="emoji_65.png" />
|
||||
<Emoticon ID="emoticon_emoji_66" Tag="[啤酒]" File="emoji_66.png" />
|
||||
<Emoticon ID="emoticon_emoji_67" Tag="[干杯]" File="emoji_67.png" />
|
||||
<Emoticon ID="emoticon_emoji_68" Tag="[柠檬汁]" File="emoji_68.png" />
|
||||
<Emoticon ID="emoticon_emoji_69" Tag="[餐具]" File="emoji_69.png" />
|
||||
<Emoticon ID="emoticon_emoji_70" Tag="[汉堡]" File="emoji_70.png" />
|
||||
<Emoticon ID="emoticon_emoji_71" Tag="[鸡腿]" File="emoji_71.png" />
|
||||
<Emoticon ID="emoticon_emoji_72" Tag="[面条]" File="emoji_72.png" />
|
||||
<Emoticon ID="emoticon_emoji_73" Tag="[冰淇淋]" File="emoji_73.png" />
|
||||
<Emoticon ID="emoticon_emoji_74" Tag="[沙冰]" File="emoji_74.png" />
|
||||
<Emoticon ID="emoticon_emoji_75" Tag="[生日蛋糕]" File="emoji_75.png" />
|
||||
<Emoticon ID="emoticon_emoji_76" Tag="[蛋糕]" File="emoji_76.png" />
|
||||
<Emoticon ID="emoticon_emoji_77" Tag="[糖果]" File="emoji_77.png" />
|
||||
<Emoticon ID="emoticon_emoji_78" Tag="[葡萄]" File="emoji_78.png" />
|
||||
<Emoticon ID="emoticon_emoji_79" Tag="[西瓜]" File="emoji_79.png" />
|
||||
<Emoticon ID="emoticon_emoji_80" Tag="[光碟]" File="emoji_80.png" />
|
||||
<Emoticon ID="emoticon_emoji_81" Tag="[手机]" File="emoji_81.png" />
|
||||
<Emoticon ID="emoticon_emoji_82" Tag="[电话]" File="emoji_82.png" />
|
||||
<Emoticon ID="emoticon_emoji_83" Tag="[电视]" File="emoji_83.png" />
|
||||
<Emoticon ID="emoticon_emoji_84" Tag="[声音开启]" File="emoji_84.png" />
|
||||
<Emoticon ID="emoticon_emoji_85" Tag="[声音关闭]" File="emoji_85.png" />
|
||||
<Emoticon ID="emoticon_emoji_86" Tag="[铃铛]" File="emoji_86.png" />
|
||||
<Emoticon ID="emoticon_emoji_87" Tag="[锁头]" File="emoji_87.png" />
|
||||
<Emoticon ID="emoticon_emoji_88" Tag="[放大镜]" File="emoji_88.png" />
|
||||
<Emoticon ID="emoticon_emoji_89" Tag="[灯泡]" File="emoji_89.png" />
|
||||
<Emoticon ID="emoticon_emoji_90" Tag="[锤头]" File="emoji_90.png" />
|
||||
<Emoticon ID="emoticon_emoji_91" Tag="[烟]" File="emoji_91.png" />
|
||||
<Emoticon ID="emoticon_emoji_92" Tag="[炸弹]" File="emoji_92.png" />
|
||||
<Emoticon ID="emoticon_emoji_93" Tag="[枪]" File="emoji_93.png" />
|
||||
<Emoticon ID="emoticon_emoji_94" Tag="[刀]" File="emoji_94.png" />
|
||||
<Emoticon ID="emoticon_emoji_95" Tag="[药]" File="emoji_95.png" />
|
||||
<Emoticon ID="emoticon_emoji_96" Tag="[打针]" File="emoji_96.png" />
|
||||
<Emoticon ID="emoticon_emoji_97" Tag="[钱袋]" File="emoji_97.png" />
|
||||
<Emoticon ID="emoticon_emoji_98" Tag="[钞票]" File="emoji_98.png" />
|
||||
<Emoticon ID="emoticon_emoji_99" Tag="[银行卡]" File="emoji_99.png" />
|
||||
<Emoticon ID="emoticon_emoji_100" Tag="[手柄]" File="emoji_100.png" />
|
||||
<Emoticon ID="emoticon_emoji_101" Tag="[麻将]" File="emoji_101.png" />
|
||||
<Emoticon ID="emoticon_emoji_102" Tag="[调色板]" File="emoji_102.png" />
|
||||
<Emoticon ID="emoticon_emoji_103" Tag="[电影]" File="emoji_103.png" />
|
||||
<Emoticon ID="emoticon_emoji_104" Tag="[麦克风]" File="emoji_104.png" />
|
||||
<Emoticon ID="emoticon_emoji_105" Tag="[耳机]" File="emoji_105.png" />
|
||||
<Emoticon ID="emoticon_emoji_106" Tag="[音乐]" File="emoji_106.png" />
|
||||
<Emoticon ID="emoticon_emoji_107" Tag="[吉他]" File="emoji_107.png" />
|
||||
<Emoticon ID="emoticon_emoji_108" Tag="[火箭]" File="emoji_108.png" />
|
||||
<Emoticon ID="emoticon_emoji_109" Tag="[飞机]" File="emoji_109.png" />
|
||||
<Emoticon ID="emoticon_emoji_110" Tag="[火车]" File="emoji_110.png" />
|
||||
<Emoticon ID="emoticon_emoji_111" Tag="[公交]" File="emoji_111.png" />
|
||||
<Emoticon ID="emoticon_emoji_112" Tag="[轿车]" File="emoji_112.png" />
|
||||
<Emoticon ID="emoticon_emoji_113" Tag="[出租车]" File="emoji_113.png" />
|
||||
<Emoticon ID="emoticon_emoji_114" Tag="[警车]" File="emoji_114.png" />
|
||||
<Emoticon ID="emoticon_emoji_115" Tag="[自行车]" File="emoji_115.png" />
|
||||
</Catalog>
|
||||
</PopoEmoticons>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PopoEmoticons>
|
||||
<Catalog ID="default" Title="emoji" Icon="emoj_s_normal.png" IconPressed="emoj_s_pressed.png">
|
||||
<Emoticon ID="emoticon_emoji_01" Tag="[可爱]" File="emoji_01.png" />
|
||||
<Emoticon ID="emoticon_emoji_0" Tag="[大笑]" File="emoji_00.png" />
|
||||
<Emoticon ID="emoticon_emoji_02" Tag="[色]" File="emoji_02.png" />
|
||||
<Emoticon ID="emoticon_emoji_03" Tag="[嘘]" File="emoji_03.png" />
|
||||
<Emoticon ID="emoticon_emoji_04" Tag="[亲]" File="emoji_04.png" />
|
||||
<Emoticon ID="emoticon_emoji_05" Tag="[呆]" File="emoji_05.png" />
|
||||
<Emoticon ID="emoticon_emoji_06" Tag="[口水]" File="emoji_06.png" />
|
||||
<Emoticon ID="emoticon_emoji_145" Tag="[汗]" File="emoji_145.png" />
|
||||
<Emoticon ID="emoticon_emoji_07" Tag="[呲牙]" File="emoji_07.png" />
|
||||
<Emoticon ID="emoticon_emoji_08" Tag="[鬼脸]" File="emoji_08.png" />
|
||||
<Emoticon ID="emoticon_emoji_09" Tag="[害羞]" File="emoji_09.png" />
|
||||
<Emoticon ID="emoticon_emoji_10" Tag="[偷笑]" File="emoji_10.png" />
|
||||
<Emoticon ID="emoticon_emoji_11" Tag="[调皮]" File="emoji_11.png" />
|
||||
<Emoticon ID="emoticon_emoji_12" Tag="[可怜]" File="emoji_12.png" />
|
||||
<Emoticon ID="emoticon_emoji_13" Tag="[敲]" File="emoji_13.png" />
|
||||
<Emoticon ID="emoticon_emoji_14" Tag="[惊讶]" File="emoji_14.png" />
|
||||
<Emoticon ID="emoticon_emoji_15" Tag="[流感]" File="emoji_15.png" />
|
||||
<Emoticon ID="emoticon_emoji_16" Tag="[委屈]" File="emoji_16.png" />
|
||||
<Emoticon ID="emoticon_emoji_17" Tag="[流泪]" File="emoji_17.png" />
|
||||
<Emoticon ID="emoticon_emoji_18" Tag="[嚎哭]" File="emoji_18.png" />
|
||||
<Emoticon ID="emoticon_emoji_19" Tag="[惊恐]" File="emoji_19.png" />
|
||||
<Emoticon ID="emoticon_emoji_20" Tag="[怒]" File="emoji_20.png" />
|
||||
<Emoticon ID="emoticon_emoji_21" Tag="[酷]" File="emoji_21.png" />
|
||||
<Emoticon ID="emoticon_emoji_22" Tag="[不说]" File="emoji_22.png" />
|
||||
<Emoticon ID="emoticon_emoji_23" Tag="[鄙视]" File="emoji_23.png" />
|
||||
<Emoticon ID="emoticon_emoji_24" Tag="[阿弥陀佛]" File="emoji_24.png" />
|
||||
<Emoticon ID="emoticon_emoji_25" Tag="[奸笑]" File="emoji_25.png" />
|
||||
<Emoticon ID="emoticon_emoji_26" Tag="[睡着]" File="emoji_26.png" />
|
||||
<Emoticon ID="emoticon_emoji_27" Tag="[口罩]" File="emoji_27.png" />
|
||||
<Emoticon ID="emoticon_emoji_28" Tag="[努力]" File="emoji_28.png" />
|
||||
<Emoticon ID="emoticon_emoji_29" Tag="[抠鼻孔]" File="emoji_29.png" />
|
||||
<Emoticon ID="emoticon_emoji_30" Tag="[疑问]" File="emoji_30.png" />
|
||||
<Emoticon ID="emoticon_emoji_31" Tag="[怒骂]" File="emoji_31.png" />
|
||||
<Emoticon ID="emoticon_emoji_32" Tag="[晕]" File="emoji_32.png" />
|
||||
<Emoticon ID="emoticon_emoji_33" Tag="[呕吐]" File="emoji_33.png" />
|
||||
<Emoticon ID="emoticon_emoji_160" Tag="[拜一拜]" File="emoji_160.png" />
|
||||
<Emoticon ID="emoticon_emoji_161" Tag="[惊喜]" File="emoji_161.png" />
|
||||
<Emoticon ID="emoticon_emoji_162" Tag="[流汗]" File="emoji_162.png" />
|
||||
<Emoticon ID="emoticon_emoji_163" Tag="[卖萌]" File="emoji_163.png" />
|
||||
<Emoticon ID="emoticon_emoji_164" Tag="[默契眨眼]" File="emoji_164.png" />
|
||||
<Emoticon ID="emoticon_emoji_165" Tag="[烧香拜佛]" File="emoji_165.png" />
|
||||
<Emoticon ID="emoticon_emoji_166" Tag="[晚安]" File="emoji_166.png" />
|
||||
<Emoticon ID="emoticon_emoji_34" Tag="[强]" File="emoji_34.png" />
|
||||
<Emoticon ID="emoticon_emoji_35" Tag="[弱]" File="emoji_35.png" />
|
||||
<Emoticon ID="emoticon_emoji_36" Tag="[OK]" File="emoji_36.png" />
|
||||
<Emoticon ID="emoticon_emoji_37" Tag="[拳头]" File="emoji_37.png" />
|
||||
<Emoticon ID="emoticon_emoji_38" Tag="[胜利]" File="emoji_38.png" />
|
||||
<Emoticon ID="emoticon_emoji_39" Tag="[鼓掌]" File="emoji_39.png" />
|
||||
<Emoticon ID="emoticon_emoji_200" Tag="[握手]" File="emoji_200.png" />
|
||||
<Emoticon ID="emoticon_emoji_40" Tag="[发怒]" File="emoji_40.png" />
|
||||
<Emoticon ID="emoticon_emoji_41" Tag="[骷髅]" File="emoji_41.png" />
|
||||
<Emoticon ID="emoticon_emoji_42" Tag="[便便]" File="emoji_42.png" />
|
||||
<Emoticon ID="emoticon_emoji_43" Tag="[火]" File="emoji_43.png" />
|
||||
<Emoticon ID="emoticon_emoji_44" Tag="[溜]" File="emoji_44.png" />
|
||||
<Emoticon ID="emoticon_emoji_45" Tag="[爱心]" File="emoji_45.png" />
|
||||
<Emoticon ID="emoticon_emoji_46" Tag="[心碎]" File="emoji_46.png" />
|
||||
<Emoticon ID="emoticon_emoji_47" Tag="[钟情]" File="emoji_47.png" />
|
||||
<Emoticon ID="emoticon_emoji_48" Tag="[唇]" File="emoji_48.png" />
|
||||
<Emoticon ID="emoticon_emoji_49" Tag="[戒指]" File="emoji_49.png" />
|
||||
<Emoticon ID="emoticon_emoji_50" Tag="[钻石]" File="emoji_50.png" />
|
||||
<Emoticon ID="emoticon_emoji_51" Tag="[太阳]" File="emoji_51.png" />
|
||||
<Emoticon ID="emoticon_emoji_52" Tag="[有时晴]" File="emoji_52.png" />
|
||||
<Emoticon ID="emoticon_emoji_53" Tag="[多云]" File="emoji_53.png" />
|
||||
<Emoticon ID="emoticon_emoji_54" Tag="[雷]" File="emoji_54.png" />
|
||||
<Emoticon ID="emoticon_emoji_55" Tag="[雨]" File="emoji_55.png" />
|
||||
<Emoticon ID="emoticon_emoji_56" Tag="[雪花]" File="emoji_56.png" />
|
||||
<Emoticon ID="emoticon_emoji_57" Tag="[爱人]" File="emoji_57.png" />
|
||||
<Emoticon ID="emoticon_emoji_58" Tag="[帽子]" File="emoji_58.png" />
|
||||
<Emoticon ID="emoticon_emoji_59" Tag="[皇冠]" File="emoji_59.png" />
|
||||
<Emoticon ID="emoticon_emoji_60" Tag="[篮球]" File="emoji_60.png" />
|
||||
<Emoticon ID="emoticon_emoji_61" Tag="[足球]" File="emoji_61.png" />
|
||||
<Emoticon ID="emoticon_emoji_62" Tag="[垒球]" File="emoji_62.png" />
|
||||
<Emoticon ID="emoticon_emoji_63" Tag="[网球]" File="emoji_63.png" />
|
||||
<Emoticon ID="emoticon_emoji_64" Tag="[台球]" File="emoji_64.png" />
|
||||
<Emoticon ID="emoticon_emoji_65" Tag="[咖啡]" File="emoji_65.png" />
|
||||
<Emoticon ID="emoticon_emoji_66" Tag="[啤酒]" File="emoji_66.png" />
|
||||
<Emoticon ID="emoticon_emoji_67" Tag="[干杯]" File="emoji_67.png" />
|
||||
<Emoticon ID="emoticon_emoji_68" Tag="[柠檬汁]" File="emoji_68.png" />
|
||||
<Emoticon ID="emoticon_emoji_69" Tag="[餐具]" File="emoji_69.png" />
|
||||
<Emoticon ID="emoticon_emoji_70" Tag="[汉堡]" File="emoji_70.png" />
|
||||
<Emoticon ID="emoticon_emoji_71" Tag="[鸡腿]" File="emoji_71.png" />
|
||||
<Emoticon ID="emoticon_emoji_72" Tag="[面条]" File="emoji_72.png" />
|
||||
<Emoticon ID="emoticon_emoji_73" Tag="[冰淇淋]" File="emoji_73.png" />
|
||||
<Emoticon ID="emoticon_emoji_74" Tag="[沙冰]" File="emoji_74.png" />
|
||||
<Emoticon ID="emoticon_emoji_75" Tag="[生日蛋糕]" File="emoji_75.png" />
|
||||
<Emoticon ID="emoticon_emoji_76" Tag="[蛋糕]" File="emoji_76.png" />
|
||||
<Emoticon ID="emoticon_emoji_77" Tag="[糖果]" File="emoji_77.png" />
|
||||
<Emoticon ID="emoticon_emoji_78" Tag="[葡萄]" File="emoji_78.png" />
|
||||
<Emoticon ID="emoticon_emoji_79" Tag="[西瓜]" File="emoji_79.png" />
|
||||
<Emoticon ID="emoticon_emoji_80" Tag="[光碟]" File="emoji_80.png" />
|
||||
<Emoticon ID="emoticon_emoji_81" Tag="[手机]" File="emoji_81.png" />
|
||||
<Emoticon ID="emoticon_emoji_82" Tag="[电话]" File="emoji_82.png" />
|
||||
<Emoticon ID="emoticon_emoji_83" Tag="[电视]" File="emoji_83.png" />
|
||||
<Emoticon ID="emoticon_emoji_84" Tag="[声音开启]" File="emoji_84.png" />
|
||||
<Emoticon ID="emoticon_emoji_85" Tag="[声音关闭]" File="emoji_85.png" />
|
||||
<Emoticon ID="emoticon_emoji_86" Tag="[铃铛]" File="emoji_86.png" />
|
||||
<Emoticon ID="emoticon_emoji_87" Tag="[锁头]" File="emoji_87.png" />
|
||||
<Emoticon ID="emoticon_emoji_88" Tag="[放大镜]" File="emoji_88.png" />
|
||||
<Emoticon ID="emoticon_emoji_89" Tag="[灯泡]" File="emoji_89.png" />
|
||||
<Emoticon ID="emoticon_emoji_90" Tag="[锤头]" File="emoji_90.png" />
|
||||
<Emoticon ID="emoticon_emoji_91" Tag="[烟]" File="emoji_91.png" />
|
||||
<Emoticon ID="emoticon_emoji_92" Tag="[炸弹]" File="emoji_92.png" />
|
||||
<Emoticon ID="emoticon_emoji_93" Tag="[枪]" File="emoji_93.png" />
|
||||
<Emoticon ID="emoticon_emoji_94" Tag="[刀]" File="emoji_94.png" />
|
||||
<Emoticon ID="emoticon_emoji_95" Tag="[药]" File="emoji_95.png" />
|
||||
<Emoticon ID="emoticon_emoji_96" Tag="[打针]" File="emoji_96.png" />
|
||||
<Emoticon ID="emoticon_emoji_97" Tag="[钱袋]" File="emoji_97.png" />
|
||||
<Emoticon ID="emoticon_emoji_98" Tag="[钞票]" File="emoji_98.png" />
|
||||
<Emoticon ID="emoticon_emoji_99" Tag="[银行卡]" File="emoji_99.png" />
|
||||
<Emoticon ID="emoticon_emoji_100" Tag="[手柄]" File="emoji_100.png" />
|
||||
<Emoticon ID="emoticon_emoji_101" Tag="[麻将]" File="emoji_101.png" />
|
||||
<Emoticon ID="emoticon_emoji_102" Tag="[调色板]" File="emoji_102.png" />
|
||||
<Emoticon ID="emoticon_emoji_103" Tag="[电影]" File="emoji_103.png" />
|
||||
<Emoticon ID="emoticon_emoji_104" Tag="[麦克风]" File="emoji_104.png" />
|
||||
<Emoticon ID="emoticon_emoji_105" Tag="[耳机]" File="emoji_105.png" />
|
||||
<Emoticon ID="emoticon_emoji_106" Tag="[音乐]" File="emoji_106.png" />
|
||||
<Emoticon ID="emoticon_emoji_107" Tag="[吉他]" File="emoji_107.png" />
|
||||
<Emoticon ID="emoticon_emoji_108" Tag="[火箭]" File="emoji_108.png" />
|
||||
<Emoticon ID="emoticon_emoji_109" Tag="[飞机]" File="emoji_109.png" />
|
||||
<Emoticon ID="emoticon_emoji_110" Tag="[火车]" File="emoji_110.png" />
|
||||
<Emoticon ID="emoticon_emoji_111" Tag="[公交]" File="emoji_111.png" />
|
||||
<Emoticon ID="emoticon_emoji_112" Tag="[轿车]" File="emoji_112.png" />
|
||||
<Emoticon ID="emoticon_emoji_113" Tag="[出租车]" File="emoji_113.png" />
|
||||
<Emoticon ID="emoticon_emoji_114" Tag="[警车]" File="emoji_114.png" />
|
||||
<Emoticon ID="emoticon_emoji_115" Tag="[自行车]" File="emoji_115.png" />
|
||||
</Catalog>
|
||||
</PopoEmoticons>
|
||||
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.3 KiB |
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.4 KiB |
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.2 KiB |
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.7 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 8.8 KiB |
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 9.9 KiB |
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.2 KiB |
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 8.8 KiB |
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.6 KiB |