Skip to content

Instantly share code, notes, and snippets.

Created August 18, 2017 19:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/f609e5eb1678cede4d94af0f6916f5b1 to your computer and use it in GitHub Desktop.
Save anonymous/f609e5eb1678cede4d94af0f6916f5b1 to your computer and use it in GitHub Desktop.
// MARK: Private Properties
var redrawCaretWorkItem: DispatchWorkItem?
#if false // for Apple's bug
return super.readSelection(from: pboard, type: type)
#else
let wasPasted = super.readSelection(from: pboard, type: type)
if wasPasted {
if let workItem = self.redrawCaretWorkItem {
workItem.cancel()
}
self.redrawCaretWorkItem = DispatchWorkItem {
self.redrawCaretWorkItem = nil
self.isEditable = false;
DispatchQueue.main.async {
self.isEditable = true;
}
}
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1, execute: self.redrawCaretWorkItem!)
}
return wasPasted
#endif
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment