快速禁用 UIwebView textField 中的键盘

Posted

技术标签:

【中文标题】快速禁用 UIwebView textField 中的键盘【英文标题】:Disable keyboard in UIwebView textField in swift 【发布时间】:2016-01-02 22:37:42 【问题描述】:

我使用另一个文本编辑器在html/css/js 中编写了一个 webApp,然后将文本复制到现有 Xcode 项目中的相关文件中。

该项目在 webView 中运行,好吧“左图”,但是当我在文本字段内单击“右图”时,库存键盘的一部分覆盖了 2 个底部按钮。

我希望看到一个成熟的键盘,但我真的很想一起禁用它,因为我稍后会提供自己的。

在这种情况下,当点击 webView textField 时如何禁用常用键盘?

Swift 2.1 和 Xcode 7.2。

import UIKit

class ViewController: UIViewController 

@IBOutlet weak var mainWV: UIWebView!
override func viewDidLoad() 
    super.viewDidLoad()

    //load a file
    let localfilePath = NSBundle.mainBundle().URLForResource("index", withExtension: "html");
    let myRequest = NSURLRequest(URL: localfilePath!);
    mainWV.loadRequest(myRequest);



override func didReceiveMemoryWarning() 
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.

【问题讨论】:

同样的问题。有什么新东西吗? 【参考方案1】:

尝试使用UIView超类(UIWebView的超类以及UITextField的超超)属性.userInteractionEnabled

myWebViewTextField.userInteractionEnabled = false

或者,如果这不是您要查找的内容,请尝试UITextField 的超类UIControl 中的属性.enabled

myWebViewTextField.enabled = false

UIView.userInteractionEnabled房产

一个布尔值,用于确定是否忽略用户事件和 从事件队列中移除。

来自Language Reference for UIVIew

UIControl.enabled属性

一个确定接收器是否启用的布尔值。

来自Language Reference for UIControl

【讨论】:

textField 不是在storyBoard 上创建的,所以在代码中没有对它的引用。它是在 webView 加载的 html 页面中创建的,即 myWebViewTextField. = boolean 是不可能的。请看更新代码sn-p。

以上是关于快速禁用 UIwebView textField 中的键盘的主要内容,如果未能解决你的问题,请参考以下文章

在 UITextField 上禁用快速删除

快速禁用 UITextfield 的用户输入

调整 UIWebView 框架大小时如何禁用 UIWebView 调整内容大小

禁用UIWebView中的链接?

如何禁用 UIWebview 中的放大镜?

在 UIWebView 中禁用用户选择