【问题标题】:Custom GIF Keyboard in iOS8iOS8 中的自定义 GIF 键盘
【发布时间】:2014-10-01 12:17:11
【问题描述】:

我正在使用应用程序扩展在 iOS8 中创建自定义 GIF 键盘。我创建了自定义键盘的布局。我正在实施 LongPress Gesture 来选择 GIF 图像,但它不起作用。那么我可以为此做些什么或对此有任何建议?


- (void)textWillChange:(id<UITextInput>)textInput {
    [self.textDocumentProxy insertText:@"Hi"];
}

我也试过上面提到的 UITextInputDelegate。 此方法也仅处理文本追加。但我关心的是在输入区域加载 gif 或 png 图像。

【问题讨论】:

    标签: ios objective-c ios8 custom-keyboard ios8-extension


    【解决方案1】:

    我已经完成了长按手势并为触摸处理程序制作了一个方法。

    -(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 图像。

    【讨论】:

      【解决方案2】:

      例如,Popkey 正在做的是将点击的 GIF 复制到粘贴板。

      然后,用户需要长按富文本字段并将内容粘贴到他们的 iMessage 中。

      【讨论】:

        【解决方案3】:

        您无法直接在输入区域中加载 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)
          }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-11-29
          • 1970-01-01
          • 2014-10-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-16
          相关资源
          最近更新 更多