Я хочу показать содержимое монтажного стола в UIImageview
, если монтажный стол содержит изображение.
Как мне это сделать? Я пробовал с UIPasteboard
, но как проверить, какой тип изображения он содержит?
Я хочу показать содержимое монтажного стола в UIImageview
, если монтажный стол содержит изображение.
Как мне это сделать? Я пробовал с UIPasteboard
, но как проверить, какой тип изображения он содержит?
Вам не нужен тип данных для отображения изображения, просто выполните:
UIPasteboard *appPasteBoard = [UIPasteboard pasteboardWithName:@"CopyPaste" create:YES];
NSData *data = [appPasteBoard dataForPasteboardType:@"com.yourCompany.yourApp.yourType"];
imageView.image = [UIImage imageWithData:data];
Однако вы можете угадать тип, посмотрев на первый байт (источник):
+ (NSString *)contentTypeForImageData:(NSData *)data {
uint8_t c;
[data getBytes:&c length:1];
switch (c) {
case 0xFF:
return @"image/jpeg";
case 0x89:
return @"image/png";
case 0x47:
return @"image/gif";
case 0x49:
case 0x4D:
return @"image/tiff";
}
return nil;
}
let image = UIPasteboard.generalPasteboard().image! let data = UIImagePNGRepresentation(image)
- person János; 29.06.2015
UIPasteboard.generalPasteboard().items
это то, что вы должны искать. Он содержит информацию об изображении и самом изображении. developer.apple.com/documentation/uikit/uipasteboard/ а>
- person iCoder; 21.01.2020