Tag: 表情符号

NSJSONSerialization和表情符号

我目前正在尝试将一些包含emojis的JSON发布到python API。 我试图直接从包含我的UITextField表情符号的string喂NSJSONSerialization ,但串行器崩溃没有任何意义的解释。 之后,我试图做一些格式转换,并结束了这样的事情: NSString *uniText = mytextField.text; NSData *msgData = [uniText dataUsingEncoding:NSNonLossyASCIIStringEncoding]; NSString *goodMsg = [[NSString alloc] initWithData:msgData encoding:NSUTF8StringEncoding] ; 这基本上工作,除了所产生的UTF-8是有点双“逃脱”,导致以下: "title":"\\ud83d\\udc8f\\ud83d\\udc8f\\ud83d\\udc8f\\ud83d" 任何build议如何解决这个问题?

如何检查字体是否受字体支持

我正在与一个文本字段的应用程序工作。 在这个字段中写的文字将会被打印出来,而且我还有一些像表情符号,中文字符等字符的问题,因为字体不提供这些字符。 这就是为什么我想要得到字体提供的所有字符(字体被下载,所以我可以直接处理文件或与UIFont对象)。 我听说过CTFontGetGlyphsForCharacters但我不确定这个函数做我想要的,我不能得到它的工作。 这是我的代码: CTFontRef fontRef = CTFontCreateWithName((CFStringRef)font.fontName, font.pointSize, NULL); NSString *characters = @"🐯"; // emoji character NSUInteger count = characters.length; CGGlyph glyphs[count]; if (CTFontGetGlyphsForCharacters(fontRef, (const unichar*)[characters cStringUsingEncoding:NSUTF8StringEncoding], glyphs, count) == false) NSLog(@"CTFontGetGlyphsForCharacters failed."); 这里CTFontGetGlyphsForCharacters返回false 。 这是我想要的,因为字符“🐯”不是由所使用的字体提供的。 问题是当我用NSString *characters = @"🐯"replaceNSString *characters = @"🐯" NSString *characters = @"abc" , CTFontGetGlyphsForCharacters再次返回false 。 显然,我的字体为所有的ASCII字符提供了一个字形。

截断在单词或字符边界处包含表情符号或unicode字符的string

我怎样才能截断一个string在给定的长度,而不消灭一个unicode字符,可能会在我的长度中间? 如何确定一个string中的Unicode字符的开始索引,以便我可以避免创build丑陋的string。 一半可见的正方形是已被截断的另一表情符号的位置。 -(NSMutableAttributedString*)constructStatusAttributedStringWithRange:(CFRange)range NSString *original = [_postDictionay objectForKey:@"message"]; NSMutableString *truncated = [NSMutableString string]; NSArray *components = [original componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; for(int x=0; x<[components count]; x++) { //If the truncated string is still shorter then the range desired. (leave space for …) if([truncated length]+[[components objectAtIndex:x] length]<range.length-3) { //Just checking if its the first word if([truncated length]==0 […]

如何清除充满表情字符的字体caching?

我正在开发iPhone的键盘扩展。 有一个emoji屏幕与苹果自己的表情符号键盘相似,在UICollectionView中显示了大约800个表情符号字符。 当这个表情符号UIScrollView滚动内存使用增加,不下降。 我正在重新使用单元格,并且在显示800倍的单个表情符号字符进行testing时,在滚动过程中内存不会增加。 使用工具,我发现我的代码中没有内存泄漏,但似乎表情符号字形被caching,根据字体大小可能需要大约10-30MB的内存(研究表明它们实际上是PNG)。 键盘扩展可以使用less量内存,然后才能杀死。 有没有办法清除该字体caching? 编辑 添加代码示例以重现该问题: let data = Array("😄😊☺️😉😍😘😚😗😙😜😝😛😳😁😔😌😒😞😣😢😂😭😪😥😰😅😓😩😫😨😱😠😡😤😖😆😋😷😎😴😵😲😟😦😧😈👿😮😬😐😕😯😶😇😏😑👲👳👮👷💂👶👦👧👨👩👴👵👱👼👸😺😸😻😽😼🙀😿😹😾👹👺🙈🙉🙊💀👽💩🔥✨🌟💫💥💢💦💧💤💨👂👀👃👅👄👍👎👌👊✊✌️👋✋👐👆👇👉👈🙌🙏☝️👏💪🚶🏃💃👫👪👬👭💏💑👯🙆🙅💁🙋💆💇💅👰🙎🙍🙇🐶🐺🐱🐭🐹🐰🐸🐯🐨🐻🐷🐽🐮🐗🐵🐒🐴🐑🐘🐼🐧🐦🐤🐥🐣🐔🐍🐢🐛🐝🐜🐞🐌🐙🐚🐠🐟🐬🐳🐋🐄🐏🐀🐃🐅🐇🐉🐎🐐🐓🐕🐖🐁🐂🐲🐡🐊🐫🐪🐆🐈🐩🐾💐🌸🌷🍀🌹🌻🌺🍁🍃🍂🌿🌾🍄🌵🌴🌲🌳🌰🌱🌼🌐🌞🌝🌚🌑🌒🌓🌔🌕🌖🌗🌘🌜🌛🌙🌍🌎🌏🌋🌌🌠⭐️☀️⛅️☁️⚡️☔️❄️⛄️🌀🌁🌈🌊☕️🍵🍶🍼🍺🍻🍸🍹🍷🍴🍕🍔🍟🍗🍖🍝🍛🍤🍱🍣🍥🍙🍘🍚🍜🍲🍢🍡🍳🍞🍩🍮🍦🍨🍧🎂🍰🍪🍫🍬🍭🍯🍎🍏🍊🍋🍒🍇🍉🍓🍑🍈🍌🍐🍍🍠🍆🍅🌽🎍💝🎎🎒🎓🎏🎆🎇🎐🎑🎃👻🎅🎄🎁🎋🎉🎊🎈🎌🔮💛💙💜💚❤️💔💗💓💕💖💞💘💌💋💍💎👑👒👟👞👡👠👢👕👔👚👗🎽👖👘👙💼👜👝👛👓🎀🌂💄📚📖🔬🔭📰🎨🎬🎩🎪🎭🎤🎧🎼🎵🎶🎹🎻🎺🎷🎸👾🎮🃏🎴🀄️🎲🎯🏈🏀⚽️⚾️🎾🎱🏉🎳⛳️🚵🚴🏁🏇🏆🎿🏂🏊🏄🎣").map {String($0)} class CollectionViewTestController: UICollectionViewController { override func viewDidLoad() { collectionView?.registerClass(Cell.self, forCellWithReuseIdentifier: cellId) } override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return data.count } override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCellWithReuseIdentifier(cellId, forIndexPath: indexPath) […]

将Apple Emoji(string)转换为UIImage

我需要所有的苹果表情符号。 我可以得到所有的表情符号,并把它们从网站getemoji复制他们,但在我的应用程序,我需要emojis 作为图像正确的顺序。 有没有一种很好的方法来将我复制到string的emojis转换为UIImage ? 或者更好的解决scheme,以正确的顺序得到所有的苹果emojis?

将键盘布局更改为表情符号

当UITextField成为第一响应者时,是否可以将键盘布局更改为表情符号? 或根据用户操作,如轻敲一个UIButton 我知道我可以将键盘布局更改为其中的一种 typedef enum { UIKeyboardTypeDefault, // Default type for the current input method. UIKeyboardTypeASCIICapable, // Displays a keyboard which can enter ASCII characters, non-ASCII keyboards remain active UIKeyboardTypeNumbersAndPunctuation, // Numbers and assorted punctuation. UIKeyboardTypeURL, // A type optimized for URL entry (shows . / .com prominently). UIKeyboardTypeNumberPad, // A number pad (0-9). Suitable […]

用twitter开源twemojireplaceiOS应用emoji

我想用tweet开源twemojireplaceUILable或UITextView的所有标准iOS表情符号。 我无法在iOS中find任何库或文档来执行此操作。 有没有人有一个解决scheme,不涉及我从头开始实施这个? 解决scheme需要高效并脱机工作。

IOS无法正确解码json格式的emoji unicode,表情符号图标显示为正方形

我正在开发一个iPhone应用程序,允许用户使用Emoji图标发送消息。 我用字符集utf8mb4和collat​​ion utf8mb4_unicode_ci保存了Mysql中的图标,所有的表情符号图标都正确保存在我的数据库中。 但是,当我将json返回给客户端(php json_encode)时,表情符号被编码为如下forms:“\ ud83d \ ude04”,iPhone将其显示为正方形。 但是,如果我以XMLforms返回,Emoji图标将不会变成这样的unicode:'\ ud83d \ ude04',它只是图标。 我想知道这是否是我的服务器上或我的客户端上的问题。 如果是我的客户端,对象c如何正确解码。 有人可以帮忙吗? 谢谢

NSString到表情符号Unicode

我试图从后端包含表情符号的unicodes拉JSON文件。 这些不是传统的unicode(例如:\ ue415),而是跨平台的unicode(例如:\ U0001F604)。 下面是json被拉的示例片段: [ { "unicode": "U0001F601", "meaning": "Argh!" }, { "unicode": "U0001F602", "meaning": "Laughing so hard" } ] 我很难将这些string转换为应用程序中显示为表情符号的unicode。 任何帮助是极大的赞赏!

如何分离emojisinput(通过默认键盘)文本字段

我在文本框中input了两个表情符号,在这里我得到的总长度是5个字符,而第一个表情符号是4个字符,第二个是1个字符。 看起来苹果已经结合了4个表情符号组成了一个。 我正在寻找可以单独分离每个表情符号的swift代码,假设通过上面的示例,我应该为每个表情符号分别获取2个string/字符。 任何人都可以帮助我解决这个问题,我已经尝试了很多东西像正则expression式分离或componentsSeparatedByString或characterSet。 但不幸的是结果是负面的。 提前致谢。