Glisser & La suppression n'est pas activée par défaut. Vous devez l'activer en fournissant un délégué d'interaction glisser à votre vue. Vous n'avez donc pas besoin de désactiver le glisser-déposer si vous ne l'avez pas implémenté.
Note:
Text views and text fields automatically support drag and drop. Mais il est son comportement par défaut pour permettre au contenu de copie d'une source à une autre source à l'aide UIMenuController. Glisser & drop permet de copier-coller facilement le contenu de votre texte pour les affichages de texte. Glisser & drop n'a aucun impact sur la sécurité des données, par rapport aux fonctionnalités actuelles stables du système d'exploitation pour le partage de données à l'aide de UIMenuController.
Voici la déclaration d'Apple pour la même chose.
Making a View into a Drag Source En mettant en œuvre un frein délégué d'interaction (UIDragInteractionDelegate) pour une vue, vous permettent ce point de vue de fonctionner comme une source de glisser dans votre application.
une option Activer Voir comme source Drag
ou sous-classe Toute instance de UIView peuvent agir comme une source de déplacement. Les premières étapes pour y arriver sont les suivantes:
- Créez une interaction de déplacement (une instance UIDragInteraction).
- Spécifiez le délégué de l'interaction de déplacement (objet conforme au protocole UIDragInteractionDelegate).
- Ajoutez l'interaction à la propriété d'interactions de la vue.
Voici comment faire en utilisant une méthode d'aide personnalisée, qui vous généralement appel dans une méthode viewDidLoad contrôleur de vue():
func customEnableDragging(on view: UIView, dragInteractionDelegate: UIDragInteractionDelegate) {
let dragInteraction = UIDragInteraction(delegate: dragInteractionDelegate)
view.addInteraction(dragInteraction)
}
Créer un Drag Item
A L'élément glisser encapsule les promesses d'une application source pour fournir une variété de représentations de données pour un objet de modèle.
Pour créer un élément de glisser, mettre en œuvre la méthode dragInteraction(_:itemsForBeginning:) dans votre délégué d'interaction de glisser, comme le montre ici sous une forme minimale:
func dragInteraction(_ interaction: UIDragInteraction, itemsForBeginning session: UIDragSession) -> [UIDragItem] {
// Cast to NSString is required for NSItemProviderWriting support.
let stringItemProvider = NSItemProvider(object: "Hello World" as NSString)
return [
UIDragItem(itemProvider: stringItemProvider)
]
}
Cette implémentation utilise le init (objet :) commodité initialiseur. Lorsque vous instanciez un élément de glissement, transmettez un objet dans la représentation native de votre application ou dans la représentation la plus haute fidélité que vous prenez en charge. En général, assurez-vous que le premier élément du tableau registeredTypeIdentifiers
du fournisseur d'éléments représente les données les plus fidèles que votre délégué d'interaction glisser peut fournir. Pour ajouter plus de représentations de données à un élément de déplacement, comme vous le feriez habituellement dans votre application, ajoutez-les dans l'ordre de fidélité, du plus élevé au plus bas. Lors de l'ajout de représentations, vous avez le choix:
- La meilleure option pour ajouter des données multiples représentations à un élément de glisser, dans de nombreux cas, est d'adopter le protocole
NSItemProviderWriting
dans votre classe de modèle. En utilisant ce protocole, vous placez le code pour fournir plusieurs représentations de données dans la classe de modèle.
- Vous pouvez utiliser la méthode
registerObject(_:visibility:)
ou les méthodes associées de la classe NSItemProvider
pour enregistrer explicitement des représentations de données.
Cette option est activée par défaut pour les textes. –
J'ai mis à jour ma réponse. J'espère qu'il vous sera utile de comprendre son impact sur la sécurité des données. – Krunal
Désolé mais ce n'est pas une réponse à ma question. Je dois désactiver le déplacement du texte de mon application vers un autre. J'ai déjà désactivé tous les autres moyens de laisser le texte hors de l'application. –