小编Dan*_*dez的帖子

如何在 Swift 的 WKWebView 中禁用用户选择?

我开发了一个应用程序,它在 Swift 中使用 WKWebView 显示一个网页。我需要禁用用户选择和标注(因为网络加载了一个图表)并且我没有找到任何方法来使用 WKWebView 来做到这一点。

这是我的代码:

import UIKit
import WebKit

class ViewController: UIViewController, WKNavigationDelegate, WKUIDelegate {

    @IBOutlet weak var webView: WKWebView!

    override func viewDidLoad() {
        super.viewDidLoad()

        let url = URL(string: "https://danfg95glucose.azurewebsites.net")
        let request = URLRequest(url: url!)
        webView.navigationDelegate = self
        webView.load(request)

    }
}
Run Code Online (Sandbox Code Playgroud)

我想做类似的事情,但在 Swift 中使用 WKWebView:

// Disable user selection
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitUserSelect='none';"];
// Disable callout
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout='none';"];
Run Code Online (Sandbox Code Playgroud)

是否可以?

这是显示问题的图像:

在此处输入图片说明

非常感谢您的回复。对不起,我的水平,我是新手,我正在学习编程。

xcode webview ios swift wkwebview

7
推荐指数
1
解决办法
8267
查看次数

将NSInteger转换为NSString Xcode iOS8

我正在尝试将NSInteger转换为NSString以在UIAlerView中显示NSInteger值.但问题是我得到这个错误:"当我试图转换NSInteger时,错误的接收器类型'NSInteger'(又名'long')".

NSInteger:

NSInteger clasesDadas = clases.count;
Run Code Online (Sandbox Code Playgroud)

clases.count是TableView中的行数.

代码是:

-(void)infoAction
{
    NSInteger clasesDadas = clases.count;

    NSString *inStr = [NSString stringWithFormat:@"%d", [clasesDadas intValue]]; /*HERE IS THE ERROR*/

    UIAlertView *alertatiempo = [[UIAlertView alloc] initWithTitle:@"Información" message:inStr delegate:self cancelButtonTitle:@"Aceptar" otherButtonTitles:nil];
    [alertatiempo show];

}
Run Code Online (Sandbox Code Playgroud)

谁能帮我?非常感谢你.

objective-c foundation ios

3
推荐指数
2
解决办法
1万
查看次数

方法decidePolicyForNavigationAction 从未调用过,WKWebView Swift

我正在开发一个在 Swift 中使用 WKWebView 显示网页的应用程序。我需要禁用用户选择和标注(因为网络加载了一个图表)并且我没有找到任何方法来使用 WKWebView 来做到这一点。

我正在尝试使用此代码,但不幸的是,似乎从未调用过此方法。你知道我的代码的哪一部分可能是错误的,或者我能做什么?

public func webView(webView: WKWebView, decidePolicyForNavigationAction navigationAction: WKNavigationAction, decisionHandler: (WKNavigationActionPolicy) -> Void) {
        if (navigationAction.navigationType == .linkActivated){
            decisionHandler(.allow)
        } else {
            decisionHandler(.cancel)
        }
}
Run Code Online (Sandbox Code Playgroud)

这是我的完整代码:

import WebKit
import UIKit

class ViewController: UIViewController, WKNavigationDelegate, WKUIDelegate {

@IBOutlet weak var webView: WKWebView!

override func viewDidLoad() {
    super.viewDidLoad()

    let url = URL(string: "http://danfg95glucose.azurewebsites.net")
    let request = URLRequest(url: url!)

    webView.navigationDelegate = self
    self.webView.uiDelegate = self
    webView.load(request)

}

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
    print("loaded")

} …
Run Code Online (Sandbox Code Playgroud)

xcode webview ios swift wkwebview

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

ios ×3

swift ×2

webview ×2

wkwebview ×2

xcode ×2

foundation ×1

objective-c ×1