[英]How do I make my app show up in "open-in"-menu for plist-files in ios13?
[英]How to disable look up, share, forward menu items in pdfkits pdfview in ios13
自ios13更新以來,覆蓋PDFView
類的方法canPerformAction(_ action: Selector, withSender sender: Any?)
不再檢測或控制“查找”、“共享”和“轉發”菜單項,我無法弄清楚一種禁用它們的方法。 以前以這種方式覆蓋它會阻止所有菜單項:
override func canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
return false
}
但是,這只會阻止從 ios13 剪切、復制、粘貼。 有沒有人弄清楚這一點? 如果是這樣,我將非常感謝您的幫助!
我遇到了同樣的問題。 看起來在 iOS13 中,一些操作(菜單和觸摸)被委托給PDFView
的屬性documentView
。 因此,該視圖的方法調配 class 對我有用,但它看起來像一個有效但“骯臟”的黑客。 在我的PDFView
子類中,我添加了:
private func swizzleDocumentView() {
guard let d = documentView, let documentViewClass = object_getClass(d) else { return }
let sel = #selector(swizzled_canPerformAction(_:withSender:))
let meth = class_getInstanceMethod(object_getClass(self), sel)!
let imp = method_getImplementation(meth)
let selOriginal = #selector(canPerformAction(_:withSender:))
let methOriginal = class_getInstanceMethod(documentViewClass, selOriginal)!
method_setImplementation(methOriginal, imp)
}
@objc func swizzled_canPerformAction(_ action: Selector, withSender sender: Any?) -> Bool {
return false
}
找出您選擇的元素屬於什么 class (UITextField、UITextView、UIWebView 等),然后方法調整它的canPerformAction:withSender:
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.