Gau*_*rav 9 keyboard ios emoji ios8 ios-app-extension
我正在使用iOS 8自定义键盘,我使用像笑脸一样的图像来设计键盘.我希望这个键盘可以与iMessage一起使用.当我试图发送文本工作正常但无法在那里分享图像.我试过以下代码:
分享文字:(其工作正常)
-(void)shouldAddCharector:(NSString*)Charector{
if ([Charector isEqualToString:@"Clear"]) {
[self.textDocumentProxy deleteBackward];
} else if([Charector isEqualToString:@"Dismiss"]){
[self dismissKeyboard];
} else {
[self.textDocumentProxy insertText:Charector];
}
}
Run Code Online (Sandbox Code Playgroud)
添加图片:(不工作)
-(void)shouldAddImage:(UIImage*)oneImage
{
UIImage* onions = [UIImage imageNamed:@"0.png"];
NSMutableAttributedString *mas;
NSTextAttachment* onionatt = [NSTextAttachment new];
onionatt.image = onions;
onionatt.bounds = CGRectMake(0,-5,onions.size.width,onions.size.height);
NSAttributedString* onionattchar = [NSAttributedString attributedStringWithAttachment:onionatt];
NSRange r = [[mas string] rangeOfString:@"Onions"];
[mas insertAttributedString:onionattchar atIndex:(r.location + r.length)];
NSString *string =[NSString stringWithFormat:@"%@",mas];
[self.textDocumentProxy insertText:string];
}
Run Code Online (Sandbox Code Playgroud)
是否有可能将图像传递给 [self.textDocumentProxy insertText:string];
以下附图显示了我想要如何使用此图像键盘.我很惊讶表情符号键盘会起作用吗?
据我所知,从iOS 8 beta 4开始,您所寻找的行为是不可能的.
目前,iOS自定义键盘与文本交互<UITextDocumentProxy>的唯一方法是通过,并且插入任何内容的唯一方法是通过该insertText:方法.
以下是该insertText:方法的标题<UITextDocumentProxy>:
- (void)insertText:(NSString *)text;
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,它需要一个简单的NSString......而不是一个NSAttributedString.这就是您插入图像的尝试不起作用的原因.
但是,尽管您无法添加图片,但仍然可以插入表情符号,因为表情符号实际上只是一个Unicode字符.
要添加表情符号,只需插入正确的Unicode字符:
[self.textDocumentProxy insertText:@"\U0001F603"];
Run Code Online (Sandbox Code Playgroud)
有用的链接:
Unicode表情符号列表: http: //apps.timwhitlock.info/emoji/tables/unicode
Unicode字符作为NSStrings:使用NSString编写unicode字符
| 归档时间: |
|
| 查看次数: |
4286 次 |
| 最近记录: |