我正在使用app扩展程序在iOS8中创建自定义GIF键盘。我创建了自定义键盘的布局。我实现了LongPress Gesture选择GIF图像,但它不起作用。那么我能为此做些什么或者有什么建议呢?
- (void)textWillChange:(id<UITextInput>)textInput {
[self.textDocumentProxy insertText:@"Hi"];
}
我也尝试过上面提到的UITextInputDelegate。 此方法也仅处理文本追加。但我担心的是在输入区加载gif或png图像。
答案 0 :(得分:3)
我已经完成了长按手势并为触摸处理程序制作了一种方法。
-(void)tapped:(id)sender
{
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
UIImage *image = [UIImage imageNamed:@"img_temp.gif"];
NSData *imgData = UIImagePNGRepresentation(image);
[pasteboard setData:imgData forPasteboardType:[UIPasteboardTypeListImage objectAtIndex:0]];
}
我也是第一响应者。
-(BOOL)canBecomeFirstResponder
{
return YES;
}
我可以在粘贴板中复制文本,但我无法复制.gif或.png图像。
答案 1 :(得分:2)
例如,Popkey正在做的是将点击的GIF复制到粘贴板。
然后,用户需要长按其富文本字段并将内容粘贴到其iMessage中。
答案 2 :(得分:0)
您无法在输入区域直接加载gif。要做到这一点,你必须将gif复制到粘贴板,然后将gif粘贴到输入区域。
要将gif复制到粘贴板,您需要将其转换为NSData。
以下是Swift 3.0中的演示代码。
let pb = UIPasteboard.general
let data = NSData(contentsOfURL: url)
if data != nil
{
self.pb.setData(data!, forPasteboardType: kUTTypeGIF as String)
}