Ios 如何使“编辑”菜单显示在带有contentEditable的UIWebView中?
我有一个带有嵌入式文本编辑器的iPad应用程序。编辑器是一个UIWebView,其Ios 如何使“编辑”菜单显示在带有contentEditable的UIWebView中?,ios,objective-c,uiwebview,contenteditable,Ios,Objective C,Uiwebview,Contenteditable,我有一个带有嵌入式文本编辑器的iPad应用程序。编辑器是一个UIWebView,其contenteditable设置为true。表单还包含一个用于文档标题的简单文本字段 如果用户键入标题,然后点击Return,他们可以在WebView中输入文本,然后点击并按住以获得放大镜和编辑菜单 但是,如果用户输入标题,然后在web视图上点击,他们可以输入文本,点击并按住以获得放大镜,但编辑菜单永远不会出现 我能看到的唯一区别是,在第一种情况下,首先触发textfield应返回:方法,然后触发textfiel
contenteditable
设置为true
。表单还包含一个用于文档标题的简单文本字段
如果用户键入标题,然后点击Return,他们可以在WebView中输入文本,然后点击并按住以获得放大镜和编辑菜单
但是,如果用户输入标题,然后在web视图上点击,他们可以输入文本,点击并按住以获得放大镜,但编辑菜单永远不会出现
我能看到的唯一区别是,在第一种情况下,首先触发textfield应返回:
方法,然后触发textfielddendediting:
方法,而在第二种情况下,只有textfielddendediting:
方法触发
以下是两种方法:
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
及
有人知道区别是什么吗?我如何才能显示编辑菜单?我认为这是一个iOS 7错误,请尝试将以下代码添加到视图控制器中作为解决方法
- (void)viewDidLoad {
[super viewDidLoad];
self.edgesForExtendedLayout = UIRectEdgeNone;
//Additional inicialization code.
}
请注意,属性在iOS 7或更高版本上可用。
希望这有帮助 这里也有同样的问题!:),有消息吗?我认为这是一个iOs错误,如果您在web视图中写入了多行,那么菜单项应该会出现。这仅在iOS 7中发生,菜单项在iOS 6I中显示正常。我可以确认,在iOS 7.1中,此解决方法解决了我的问题。只有在DOM文本区域中有多行文本时,菜单才会显示。这个问题似乎有一些额外的微妙之处,因为它也可以通过将文本元素移动到DOM中的另一个位置来解决。看起来菜单正在显示,但UIWebView进行了一些错误的放置计算,结果超出了框架。
- (void)viewDidLoad {
[super viewDidLoad];
self.edgesForExtendedLayout = UIRectEdgeNone;
//Additional inicialization code.
}