Как используется монтажный стол Find?

Я читаю документацию для UIPasteboard, и там говорится, что существует два основных типа монтажного стола: «Общий монтажный стол», используемый для общесистемного копирования и вставки, и «Найти монтажный стол» (UIPasteboardNameFind). Из документации:

Область монтажа "Найти", которая используется в операциях поиска, содержит самое последнее строковое значение в строке поиска.

Если я введу текст в строку поиска в Safari, он не будет помещен в область поиска для другого приложения. Мне интересно, как работает Find Pasteboard и для чего он используется. Я предполагаю, что его область действия находится внутри приложения или семейства приложений, но в чем разница от простого использования свойства UISearchbar text?

Вот код, который я использую для его проверки:

UIPasteboard *findPasteboard = [UIPasteboard pasteboardWithName:UIPasteboardNameFind create:NO];
NSLog(@"Find Pasteboard: %@", findPasteboard);
NSLog(@"Find Pasteboard items: %@", [findPasteboard items]);

person nevan king    schedule 24.10.2012    source источник


Ответы (1)


iOS 10 не поддерживает все буферы обмена, кроме общего; вот ответ для macOS:

Область поиска хранит самую последнюю строку поиска, введенную в панель поиска. (Но не адресная строка!) Он разработан как дополнение к универсальному сочетанию клавиш Command + F.

Вот пример сценария:

  • Пользователь открывает панель поиска TextEdit и вводит строку
  • TextEdit копирует строку в область поиска.
  • Пользователь открывает панель поиска Safari
  • Откроется панель поиска со строкой, вставленной из области поиска.

Для разработчиков это рекомендации по реализации:

  • При изменении строки панели поиска новая строка должна быть скопирована на панель поиска.
  • Строка панели поиска должна синхронизироваться с Find Pasteboard (либо с помощью проверки временного цикла Каждые N секунд, как Safari, либо когда приложение становится активным, как TextEdit, Firefox, Chrome)
person MCCCS    schedule 16.08.2020