我遇到了问题,我无法找到解决方法.
我有一个UIWebView实现和一个视图UITextField.在两者上,当我点击时,我没有显示复制/粘贴菜单.
其中UIWebView有文字(仅文字),我可以选择一个单词或一个段落,或者让放大镜出现并手动选择我想要的文字.
另一方面,UITextField除了复制/粘贴功能外,可以按输入进行输入和工作.
什么都没有分类.我只需要iOS的默认实现来复制/粘贴功能.
此问题不在单个视图中.我在其他UIWebView地方有另一个问题,所以我认为这是一个全球性的问题.
我已经完成了所有显而易见的事情(导入UIKit和Foundation框架,分配属性,释放等),但我再次坚持这一点.
什么可能会与这样一个简单的功能相互作用/干扰,禁用它?而且,总是在最简单的实现下,还需要做什么呢?(我遗失的任何框架,任何财产等).
这么简单,我坚持下去.如果有人有任何想法,它非常感激.
====编辑====
问题不是由我在任何视图或类中的代码引起的.
我添加了一个新视图(应用程序基于tabbar),只有一个UITextField和一个带有默认"Lorem Ipsum"文本的UITextView.在textView上我也可以选择文本但没有菜单来复制/粘贴/选择/选择全部.这也发生在textField(空)中,其中没有粘贴菜单出现(我从另一个应用程序复制一些文本,例如Safari或Notes).
在所有视图中,问题似乎是普遍影响应用程序的其他地方.
我删除了Frameworks引用并将它们放回去但没有任何反应.我还在试图弄清楚它的来源.
我遇到了同样的问题 - 其他一切都正常工作,但所有人UITextView都错过了"复制/粘贴/选择"菜单,全局,通过所有应用程序.
经过一些实验,我发现原因是:
在MainWindow.xib中的"窗口"上未设置"在启动时可见"属性
要么
缺少对AppDelegate [self.window makeKeyAndVisible]内部application:didFinishLaunchingWithOptions:方法的调用.
修好任何一个后它工作正常.试试吧.
如果您使用 Xcode 11+ 和 iOS 13+ 项目(和SceneDelegate),
确保您按照确切的顺序应用更改:
import UIKit
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow()
window!.rootViewController = rootNavigation
window!.windowScene = windowScene
window!.makeKeyAndVisible()
}
}
Run Code Online (Sandbox Code Playgroud)
因为,如果你将应用它是这样的:
window!.makeKeyAndVisible()
window!.windowScene = windowScene
Run Code Online (Sandbox Code Playgroud)
您将在问题中描述问题。它会出现并且看起来不错,可以工作,但不会出现复制粘贴操作。我花了一段时间才发现这一点。