2014-10-01 1 views
1

Я создаю пользовательскую клавиатуру GIF в iOS8 с помощью расширения приложения. Я создал макет моей пользовательской клавиатуры. Я использовал LongPress Gesture для выбора GIF Image, но не работал. так что я могу сделать для этого или любого предложения относительно этого?Пользовательский GIF-клавиатура в iOS8


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

Я также попытался с UITextInputDelegate упоминалось выше. Этот метод также касается только добавления текста. Но моя забота - загрузить gif или png изображение в области ввода.

ответ

2

Что, например, делает Popkey, это скопировать GIF с кликом на картотеку.

Затем пользователю необходимо долго щелкнуть свое текстовое поле и вставить содержимое в свой iMessage, например.

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 изображение.

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) 
    }