Перейти к содержанию
Fire Monkey от А до Я

Поиск сообщества

Показаны результаты для тегов 'iOS9'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Общие вопросы
    • Анимация
    • Графика
    • Стили
    • Базы данных и REST
    • Компоненты
    • Положение, размеры, выравнивание
    • Работа с текстом
    • Приложение и формы
    • Отладка
    • Развертывание приложений
    • Вопросы по языку Object Pascal и RTL
    • Общая информация о TControl
    • События
    • Прочие вопросы
  • Вопросы по платформам
    • Android
    • iOS
    • OSX
    • Windows
    • Windows Phone
    • Linux
  • Вопросы по использованию RAD Studio
    • Лицензирование
    • Сборка проектов
    • Multi-Device Designer
    • Редактор кода
    • Вопросы
  • Обучение
    • Основная информация
    • Вопросы
    • Отзывы
  • Поиск специалистов по FireMonkey
    • Консультации
    • Ищу подрядчика
  • Дополнительные ресурсы по FireMonkey
    • Сторонние компоненты
    • Приложения, написанные с использованием FireMonkey
    • Примеры
    • Руководства
    • Шаблоны
    • Статьи и заметки
    • Информация о версиях RAD Studio
    • Новости
  • Организация работы данного форума

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


StackOverflow


Защита от ботов


Город


Интересы

Найдено: 1 результат

  1. C недавних пор мой старый метод открытия файлов в другом приложении перестал работать на ipad mini и iphone6. Оказалось что Apple ещё с ios 7 представил свой способ передачи файлов Airdrop, он же предоставляет возможность открывать файл в различных приложениях аналогично кнопке Open in. Итак код: uses {$IFDEF IOS} iOSapi.UIKit, iOSapi.Foundation, iOSapi.CoreGraphics, FMX.Helpers.iOS, Macapi.Helpers, Macapi.ObjectiveC {$ENDIF}; procedure Share(const AControl: TControl; filepath: string); var objects: NSMutableArray; controller : UIActivityViewController; popoverController: UIPopoverController; url: NSURL; procedure ShowForPhone; var Window: UIWindow; begin Window := SharedApplication.keyWindow; if (Window <> nil) and (Window.rootViewController <> nil) then Window.rootViewController.presentModalViewController(controller, True); end; procedure ShowForPad; var Window: UIWindow; PopoverRect: CGRect; AbsolutePos: TPointF; begin Window := SharedApplication.keyWindow; if AControl <> nil then begin AbsolutePos := AControl.LocalToAbsolute(PointF(0, 0)); if AControl.Scene <> nil then AbsolutePos := AControl.Scene.LocalToScreen(AbsolutePos); PopoverRect := CGRectMake(AbsolutePos.X, AbsolutePos.Y, AControl.Width, AControl.Height); end else PopoverRect := CGRectMake(0, 0, 0, 0); popoverController := TUIPopoverController.Alloc; popoverController.initWithContentViewController(controller); popoverController.presentPopoverFromRect(PopoverRect, Window.rootViewController.View, UIPopoverArrowDirectionAny, True); end; procedure ShowActionsSheet; begin if IsPad then ShowForPad else ShowForPhone; end; begin url := TNSURL.Wrap(TNSURL.OCClass.fileURLWithPath(StrToNSStr(filepath))); objects := TNSMutableArray.Create; objects.addObject((url as ILocalObject).GetObjectID); try if objects.count > 0 then begin controller := TUIActivityViewController.alloc; controller.initWithActivityItems(objects , nil); ShowActionsSheet; end; finally objects.release; objects := nil; end; end; Возможно Вы найдёт для себя что-то лишнее или нагромождённое, но заметьте, этот код подходит и для телефона и для планшета и сделан для быстрого понимания происходящего. Он был "заимствован" и модифицирован из самой RAD Studio из модуля FMX.MediaLibrary.IOS 395 строка. Оригинал же позволял передавать лишь String и TBitmap. Если же Вам нужно передавать именно их, Вы можете открыть этот модуль "C:\Program Files\Embarcadero\Studio\17.0\source\fmx\FMX.MediaLibrary.iOS.pas" и найти в оригинале как это делается.
×
×
  • Создать...