UIDropSession, обновить системный индикатор «зеленый «

#swift

#swift

Вопрос:

В настоящее время я разрабатываю простое приложение для перетаскивания с использованием API iOS 11: UIDragInteractionDelegate и UIDropInteractionDelegate

Мне удалось заблокировать функцию удаления только для моего проекта, однако я не нашел никакого решения для настройки зеленого индикатора, появляющегося при активации удаления. Мое приложение предоставит другую форму индикации.

зеленая кнопка

Я заметил в UIDropSession переменной progressIndicatorStyle, но я не вижу никаких изменений при обновлении

 func dropInteraction(_ interaction: UIDropInteraction, canHandle session: UIDropSession) -> Bool {
    session.progressIndicatorStyle = .none
    return session.localDragSession != nil amp;amp; session.canLoadObjects(ofClass: UIImage.self)
}
 

Кому-нибудь удалось скрыть этот индикатор?

Ответ №1:

Я, наконец, смог устранить проблему.

Индикатор был сгенерирован этой функцией:

 func dropInteraction(_ interaction: UIDropInteraction, sessionDidUpdate session: UIDropSession) -> UIDropProposal {
    return UIDropProposal(operation: .copy)
}
 

Если вы хотите удалить этот индикатор, просто измените параметр на .move .