Подтвердить что ты не робот

Как скопировать данные UIImage в буфер обмена /UIPboardboard? И как это проверить?

Я попытался использовать следующий код для копирования данных изображения в UIPasteboard при щелчке пункта "Копировать" в меню.

UIPasteboard *gpBoard = [UIPasteboard generalPasteboard];
[[gpBoard setData:UIImageJPEGRepresentation(imgView.image, 1.0) forPasteboardType:UIPasteboardTypeListImage];

Какой параметр я должен отправить для forPasteboardType:, и как проверить после копирования данных?

4b9b3361

Ответ 1

Это намного проще:

[UIPasteboard generalPasteboard].image = imgView.image;

Чтобы снова получить изображение:

UIImage *image = [UIPasteboard generalPasteboard].image;

Ответ 2

Я пробовал выше, и по какой-то причине это был хит и промах на iOS 7,8. Иногда это работает, и иногда это не означает, что система не показывает параметр "Вставить".

Это работало для меня последовательно на всех устройствах и всех iOS

    UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
    NSData *imgData = UIImagePNGRepresentation([UIImage imageNamed:@"test.png"]);
    [pasteboard setData:imgData forPasteboardType:[UIPasteboardTypeListImage objectAtIndex:0]];

Ответ 3

Swift:

UIPasteboard.generalPasteboard().image = imageToCopy