2012-06-02 4 views
3

\ue415과 같은 그림 이모티콘 대신 텍스트 필드에 유니 코드 만 입력하면 UITextField에 그림 이모티콘을 추가하려고합니다. 텍스트 필드에 그림 이모티콘을 설정하려면 아래 코드를 사용해보십시오.디스플레이 이모티콘 UITextField에서

나는 이모티콘 이미지가있는 버튼이있는보기가 있습니다. 이모티콘을 클릭하면 해당 이모티콘의 유니 코드가 텍스트에 추가됩니다. 하지만 유니 코드는 실제 형식이 아닌 문자열 형식으로 추가됩니다.

텍스트 필드에 직접 유니 코드를 설정하려고하면 이모티콘이 표시되지만 배열에서 값을 가져 오려고하면 이모티콘이 표시되지 않습니다.

NSString *strCode = [[arrPlist objectAtIndex:[sender tag]]objectForKey:@"UTFCode"]; 
strCode = [strCode stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; 

NSString *mycode = @"\ue415"; 
if ([mycode isEqualToString:strCode]) 
{ 
    NSLog(@"both are same"); 
} 
NSLog(@"%@",[NSString stringWithFormat:@"strCode:%@ and mycode:%@",strCode,mycode]); 
messageField.text = [messageField.text stringByAppendingFormat:@"%@ %@",strCode,mycode]; 

그리고 출력이 같다 :

strCode : \의 ue415과 mycode : 

사람이 내가 myCode과 동일한 strCode을 얻을 수있는 방법으로 나를 도와 드릴까요?

+0

이모티콘 아이콘이 콘솔 창에 표시되지 않습니다. – TheTiger

+0

http://stackoverflow.com/questions/11365450/nsstring-with-unicode-issue-from-web-service?rq=1 이 링크로 이동하십시오. – NiravPatel

답변

2
Use like below it will work 

NSString *myString = @"I am sad of him"; 
myString = [myString stringByReplacingOccurrencesOfString:@"sad" withString:@"\ue415"]; 
txtField.text = myString; 
+0

답장을 보내 주셔서 감사합니다. 하지만 실제로 나는 이모티콘의 이미지가있는 단추가있는보기가 있습니다. 해당 그림 이모티콘을 클릭하면 이 텍스트에 해당 그림이있는 각각의 유니 코드를 추가하고 있습니다. 하지만 유니 코드는 실제 형식이 아닌 문자열 형식으로 추가됩니다. –

0

흥미로운 질문입니다.

문자열로 \를 사용할 수 없습니다. 귀하의 코드에서 'mycode'는 @ "\ ue415"를 문자열이 아닌 한 문자로 취합니다. ....

NSString *mycode = [[NSString stringWithFormat:@"\\"]stringByAppendingFormat:@"ue415"]); 

어떤 방법 코드에서이 - 당신은 당신이 설정할 수있는 경우 대신 6.

당신에게 1을 보여줍니다 ...

NSlog(@"%d",[mycode length]); 

로 볼 수 있습니다 당신이 원하는 문자열을 줄 것입니다.

감사합니다 !!

+0

답장을 보내 주셔서 감사합니다. 사실 저는 6이라는 길이 만 얻었습니다. 그러나 이제 나는 해결책을 얻었습니다. plist 파일에서 배열을 가져오고 그래서 유니 코드 대신 문자열을 가져 오지 못했습니다. 그래서 내가 unicodes의 배열을 만들어 같이 그것을 가지고 : 'arrEmojis = [[NSArray를의 ALLOC] initWithObjects : \ "의 ue057"@ "\의 ue056"@ "\의 ue415", @ "@ \ ue414 "," "ue405", @ "\ ue106", @ "\ ue418", @ "\ ue417", @ "\ ue40d", @ "\ ue40a", @ "\ ue404", @ "\ ue105" 무]; NSString * strCode = [arrEmojis objectAtIndex : [보낸 사람 태그]]; messageField.text = [messageField.text stringByAppendingFormat : @ "% @", strCode]; ' –

+0

좋습니다 .... 축하 만시 :-) – TheTiger