`
isiqi
  • 浏览: 16047101 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

iOS应用中增加emoji表情输入功能

阅读更多

Emoji的介绍参见wiki,iOS支持的emoji表情列表参见http://pukupi.com/post/1964/,iOS支持的emoji表情的Unicode编码范围为[0xE001,0xE05A]&[0xE101,0xE15A]&[0xE201,0xE253]&[0xE401&0xE44C]&[0xE501,0xE537],Unicode编码转为NSString的方法为[NSStringstringWithFormat:@"%C", i].使用如下代码可以弹出一个可以选择Emoji表情的输入框,

- (void)didSelectAFace:(id)sender{

UIButton*button = (UIButton*)sender;

NSString*emojiStr = [NSStringstringWithFormat:@"%C", button.tag];

textView.text= [NSStringstringWithFormat:@"%@%@",textView.text,emojiStr];

}

- (void)hideEmojiView{

[emojiViewremoveFromSuperview];

[emojiCloseButtonremoveFromSuperview];

}

- (void)showEmojiView{

CGFloatx = (self.view.frame.size.width-300.0f)/2;

CGFloaty =self.view.frame.size.height-190;

if(emojiView==nil) {

self.emojiView= [[UIViewalloc]initWithFrame:CGRectMake(x,y,300.0f,140.0f)];

emojiView.backgroundColor= [UIColorlightGrayColor];

emojiView.alpha=0.8;

emojiView.layer.cornerRadius=6;

[emojiView.layersetMasksToBounds:YES];

UIScrollView*emojiScrollView = [[UIScrollViewalloc]init];

emojiScrollView.frame=CGRectMake(0,0,300.0f,140.0f);

[emojiViewaddSubview:emojiScrollView];

intxIndex =0;

intyIndex =0;

intemojiRangeArray[10] = {0xE001,0xE05A,0xE101,0xE15A,0xE201,0xE253,0xE401,0xE44C,0xE501,0xE537};

for(intj =0; j<10; j+=2) {

intstartIndex = emojiRangeArray[j];

intendIndex = emojiRangeArray[j+1];

for(inti = startIndex ; i<= endIndex ; i++ ) {

UIButton*button = [UIButtonbuttonWithType:UIButtonTypeCustom];

button.frame=CGRectMake(6+ xIndex*32,6+ yIndex*32,32.0f,32.0f);

[buttonsetTitle:[NSStringstringWithFormat:@"%C", i]forState:UIControlStateNormal];

button.tag= i;

[buttonaddTarget:selfaction:@selector(didSelectAFace:)forControlEvents:UIControlEventTouchUpInside];

[emojiScrollViewaddSubview:button];

xIndex +=1;

if(xIndex ==9) {

xIndex =0;

yIndex +=1;

}

}

}

[emojiScrollViewsetContentSize:CGSizeMake(300.0f,12+ (yIndex+1)*32)];

//closeButton

self.emojiCloseButton= [UIButtonbuttonWithType:UIButtonTypeCustom];

emojiCloseButton.frame=CGRectMake(x-10.0f, y-10.0f,24.0f,24.0f);

[emojiCloseButtonsetImage:[UIImageimageNamed:@"dialog_close.png"]forState:UIControlStateNormal];

[emojiCloseButtonaddTarget:selfaction:@selector(hideEmojiView)forControlEvents:UIControlEventTouchUpInside];

}

else{

emojiView.frame=CGRectMake(x,y,300.0f,140.0f);

emojiCloseButton.frame=CGRectMake(x-10.0f, y-10.0f,24.0f,24.0f);

}

[self.viewaddSubview:emojiView];

[self.viewaddSubview:emojiCloseButton];

}

iPhone Emoji Decimal Character Entities

The complete list of iPhone emoji and their respective decimal character entities:

e415&#xe415; e056&#xe056; e057&#xe057; e414&#xe414; e405&#xe405; e106&#xe106; e418&#xe418;
e417&#xe417; e40d&#xe40d; e40a&#xe40a; e404&#xe404; e105&#xe105; e409&#xe409; e40e&#xe40e;
e402&#xe402; e108&#xe108; e403&#xe403; e058&#xe058; e407&#xe407; e401&#xe401; e40f&#xe40f;
e40b&#xe40b; e406&#xe406; e413&#xe413; e411&#xe411; e412&#xe412; e410&#xe410; e107&#xe107;
e059&#xe059; e416&#xe416; e408&#xe408; e40c&#xe40c; e11a&#xe11a; e10c&#xe10c; e32c&#xe32c;
e32a&#xe32a; e32d&#xe32d; e328&#xe328; e32b&#xe32b; e022&#xe022; e023&#xe023; e327&#xe327;
e329&#xe329; e32e&#xe32e; e32f&#xe32f; e335&#xe335; e334&#xe334; e021&#xe021; e337&#xe337;
e020&#xe020; e336&#xe336; e13c&#xe13c; e330&#xe330; e331&#xe331; e326&#xe326; e03e&#xe03e;
e11d&#xe11d; e05a&#xe05a; e00e&#xe00e; e421&#xe421; e420&#xe420; e00d&#xe00d; e010&#xe010;
e011&#xe011; e41e&#xe41e; e012&#xe012; e422&#xe422; e22e&#xe22e; e22f&#xe22f; e231&#xe231;
e230&#xe230; e427&#xe427; e41d&#xe41d; e00f&#xe00f; e41f&#xe41f; e14c&#xe14c; e201&#xe201;
e115&#xe115; e428&#xe428; e51f&#xe51f; e429&#xe429; e424&#xe424; e423&#xe423; e253&#xe253;
e426&#xe426; e111&#xe111; e425&#xe425; e31e&#xe31e; e31f&#xe31f; e31d&#xe31d; e001&#xe001;
e002&#xe002; e005&#xe005; e004&#xe004; e51a&#xe51a; e519&#xe519; e518&#xe518; e515&#xe515;
e516&#xe516; e517&#xe517; e51b&#xe51b; e152&#xe152; e04e&#xe04e; e51c&#xe51c; e51e&#xe51e;
e11c&#xe11c; e536&#xe536; e003&#xe003; e41c&#xe41c; e41b&#xe41b; e419&#xe419; e41a&#xe41a;
e04a&#xe04a; e04b&#xe04b; e049&#xe049; e048&#xe048; e04c&#xe04c; e13d&#xe13d; e443&#xe443;
e43e&#xe43e; e04f&#xe04f; e052&#xe052; e053&#xe053; e524&#xe524; e52c&#xe52c; e52a&#xe52a;
e531&#xe531; e050&#xe050; e527&#xe527; e051&#xe051; e10b&#xe10b; e52b&#xe52b; e52f&#xe52f;
e528&#xe528; e01a&#xe01a; e134&#xe134; e530&#xe530; e529&#xe529; e526&#xe526; e52d&#xe52d;
e521&#xe521; e523&#xe523; e52e&#xe52e; e055&#xe055; e525&#xe525; e10a&#xe10a; e109&#xe109;
e522&#xe522; e019&#xe019; e054&#xe054; e520&#xe520; e306&#xe306; e030&#xe030; e304&#xe304;
e110&#xe110; e032&#xe032; e305&#xe305; e303&#xe303; e118&#xe118; e447&#xe447; e119&#xe119;
e307&#xe307; e308&#xe308; e444&#xe444; e441&#xe441;
e436&#xe436; e437&#xe437; e438&#xe438; e43a&#xe43a; e439&#xe439; e43b&#xe43b; e117&#xe117;
e440&#xe440; e442&#xe442; e446&#xe446; e445&#xe445; e11b&#xe11b; e448&#xe448; e033&#xe033;
e112&#xe112; e325&#xe325; e312&#xe312; e310&#xe310; e126&#xe126; e127&#xe127; e008&#xe008;
e03d&#xe03d; e00c&#xe00c; e12a&#xe12a; e00a&#xe00a; e00b&#xe00b; e009&#xe009; e316&#xe316;
e129&#xe129; e141&#xe141; e142&#xe142; e317&#xe317; e128&#xe128; e14b&#xe14b; e211&#xe211;
e114&#xe114; e145&#xe145; e144&#xe144; e03f&#xe03f; e313&#xe313; e116&#xe116; e10f&#xe10f;
e104&#xe104; e103&#xe103; e101&#xe101; e102&#xe102; e13f&#xe13f; e140&#xe140; e11f&#xe11f;
e12f&#xe12f; e031&#xe031; e30e&#xe30e; e311&#xe311; e113&#xe113; e30f&#xe30f; e13b&#xe13b;
e42b&#xe42b; e42a&#xe42a; e018&#xe018; e016&#xe016; e015&#xe015; e014&#xe014; e42c&#xe42c;
e42d&#xe42d; e017&#xe017; e013&#xe013; e20e&#xe20e; e20c&#xe20c; e20f&#xe20f; e20d&#xe20d;
e131&#xe131; e12b&#xe12b; e130&#xe130; e12d&#xe12d; e324&#xe324; e301&#xe301; e148&#xe148;
e502&#xe502; e03c&#xe03c; e30a&#xe30a; e042&#xe042; e040&#xe040; e041&#xe041; e12c&#xe12c;
e007&#xe007; e31a&#xe31a; e13e&#xe13e; e31b&#xe31b; e006&#xe006; e302&#xe302; e319&#xe319;
e321&#xe321; e322&#xe322; e314&#xe314; e503&#xe503; e10e&#xe10e; e318&#xe318; e43c&#xe43c;
e11e&#xe11e; e323&#xe323; e31c&#xe31c; e034&#xe034; e035&#xe035; e045&#xe045; e338&#xe338;
e047&#xe047; e30c&#xe30c; e044&#xe044; e30b&#xe30b; e043&#xe043; e120&#xe120; e33b&#xe33b;
e33f&#xe33f; e341&#xe341; e34c&#xe34c; e344&#xe344; e342&#xe342; e33d&#xe33d; e33e&#xe33e;
e340&#xe340; e34d&#xe34d; e339&#xe339; e147&#xe147; e343&#xe343; e33c&#xe33c; e33a&#xe33a;
e43f&#xe43f; e34b&#xe34b; e046&#xe046; e345&#xe345; e346&#xe346; e348&#xe348; e347&#xe347;
e34a&#xe34a; e349&#xe349;
e036&#xe036; e157&#xe157; e038&#xe038; e153&#xe153; e155&#xe155; e14d&#xe14d; e156&#xe156;
e501&#xe501; e158&#xe158; e43d&#xe43d; e037&#xe037; e504&#xe504; e44a&#xe44a; e146&#xe146;
e50a&#xe50a; e505&#xe505; e506&#xe506; e122&#xe122; e508&#xe508; e509&#xe509; e03b&#xe03b;
e04d&#xe04d; e449&#xe449; e44b&#xe44b; e51d&#xe51d; e44c&#xe44c; e124&#xe124; e121&#xe121;
e433&#xe433; e202&#xe202; e135&#xe135; e01c&#xe01c; e01d&#xe01d; e10d&#xe10d; e136&#xe136;
e42e&#xe42e; e01b&#xe01b; e15a&#xe15a; e159&#xe159; e432&#xe432; e430&#xe430; e431&#xe431;
e42f&#xe42f; e01e&#xe01e; e039&#xe039; e435&#xe435; e01f&#xe01f; e125&#xe125; e03a&#xe03a;
e14e&#xe14e; e252&#xe252; e137&#xe137; e209&#xe209; e154&#xe154; e133&#xe133; e150&#xe150;
e320&#xe320; e123&#xe123; e132&#xe132; e143&#xe143; e50b&#xe50b; e514&#xe514; e513&#xe513;
e50c&#xe50c; e50d&#xe50d; e511&#xe511; e50f&#xe50f; e512&#xe512; e510&#xe510; e50e&#xe50e;
e21c&#xe21c; e21d&#xe21d; e21e&#xe21e; e21f&#xe21f; e220&#xe220; e221&#xe221; e222&#xe222;
e223&#xe223; e224&#xe224; e225&#xe225; e210&#xe210; e232&#xe232; e233&#xe233; e235&#xe235;
e234&#xe234; e236&#xe236; e237&#xe237; e238&#xe238; e239&#xe239; e23b&#xe23b; e23a&#xe23a;
e23d&#xe23d; e23c&#xe23c; e24d&#xe24d; e212&#xe212; e24c&#xe24c; e213&#xe213; e214&#xe214;
e507&#xe507; e203&#xe203; e20b&#xe20b; e22a&#xe22a; e22b&#xe22b; e226&#xe226; e227&#xe227;
e22c&#xe22c; e22d&#xe22d; e215&#xe215; e216&#xe216; e217&#xe217; e218&#xe218; e228&#xe228;
e151&#xe151; e138&#xe138; e139&#xe139; e13a&#xe13a; e208&#xe208; e14f&#xe14f; e20a&#xe20a;
e434&#xe434; e309&#xe309; e315&#xe315; e30d&#xe30d; e207&#xe207; e229&#xe229; e206&#xe206;
e205&#xe205; e204&#xe204; e12e&#xe12e; e250&#xe250; e251&#xe251; e14a&#xe14a; e149&#xe149;
e23f&#xe23f; e240&#xe240; e241&#xe241; e242&#xe242; e243&#xe243; e244&#xe244; e245&#xe245;
e246&#xe246; e247&#xe247; e248&#xe248; e249&#xe249; e24a&#xe24a; e24b&#xe24b; e23e&#xe23e;
e532&#xe532; e533&#xe533; e534&#xe534; e535&#xe535; e21a&#xe21a; e219&#xe219; e21b&#xe21b;
e02f&#xe02f; e024&#xe024; e025&#xe025; e026&#xe026; e027&#xe027; e028&#xe028; e029&#xe029;
e02a&#xe02a; e02b&#xe02b; e02c&#xe02c; e02d&#xe02d; e02e&#xe02e; e332&#xe332; e333&#xe333;
e24e&#xe24e; e24f&#xe24f; e537&#xe537;

转载地址:http://pukupi.com/post/1964/

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics