Как отключить копирование и вырезать для UIWebView - PullRequest
0 голосов
/ 20 сентября 2018

Я следовал этому ответу (https://stackoverflow.com/a/6051172/8710951), чтобы отключить копирование и вырезание для UIWebView.

Я сделал это, расширив категорию на UIWebView.

UIWebView + DisableCopy.h

#import <UIKit/UIKit.h>

@interface UIWebView (DisableCopy)

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender;

@end

UIWebView + DisableCopy.m

#import "UIWebView+DisableCopy.h"

@implementation UIWebView (DisableCopy)

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
    BOOL superCanPerform = [super canPerformAction:action withSender:sender];

    NSLog([NSString stringWithFormat:@"Current action: [%@]", NSStringFromSelector(action)]);

    if (superCanPerform) {
        if (action == @selector(copy:) ||
            action == @selector(paste:)||
            action == @selector(cut:))
        {
            return NO;
        }
    }
    return superCanPerform;
}

@end

Однако, похоже, действия copy, paste, and cut не являютсяперешел на canPerformAction. Я записал все действия, пройденные через:

11:57:00.996578-0700 WebViewPlayground[69631:6602598] Current action: [select:]
11:57:00.997104-0700 WebViewPlayground[69631:6602598] Current action: [selectAll:]
11:57:01.029183-0700 WebViewPlayground[69631:6602598] Current action: [delete:]
11:57:01.030782-0700 WebViewPlayground[69631:6602598] Current action: [_transliterateChinese:]
11:57:01.030933-0700 WebViewPlayground[69631:6602598] Current action: [_insertDrawing:]
11:57:01.031117-0700 WebViewPlayground[69631:6602598] Current action: [_showTextStyleOptions:]
11:57:01.031276-0700 WebViewPlayground[69631:6602598] Current action: [_lookup:]
11:57:01.032307-0700 WebViewPlayground[69631:6602598] Current action: [_addShortcut:]
11:57:01.032707-0700 WebViewPlayground[69631:6602598] Current action: [_accessibilitySpeak:]
11:57:01.032872-0700 WebViewPlayground[69631:6602598] Current action: [_accessibilitySpeakLanguageSelection:]
11:57:01.033054-0700 WebViewPlayground[69631:6602598] Current action: [_accessibilityPauseSpeaking:]
11:57:01.033754-0700 WebViewPlayground[69631:6602598] Current action: [makeTextWritingDirectionRightToLeft:]
11:57:01.033922-0700 WebViewPlayground[69631:6602598] Current action: [makeTextWritingDirectionLeftToRight:]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...