小编Tas*_*aff的帖子

iOS WKWebView从点获取RGBA像素颜色

如何从WKWebView获取点的RGBA像素颜色?

我有一个UIWebView的工作解决方案,但我想使用WKWebView.当我点击屏幕上的某个点时,我能够从UIWebView中检索RGBA中的颜色值,例如(0,0,0,0),当它是透明的时候(0.76,0.23,0.34,1)它不透明.WKWebView总是返回(0,0,0,0).

更多细节

我正在开发一个iOS应用程序,其中WebView是最顶级的ui元素.

WebView具有透明的区域,因此您可以看到底层的UIView.

WebView将忽略透明区域上的触摸,而底层UIView将检索事件.

因此我确实覆盖了hitTest函数:

#import "OverlayView.h"
#import <QuartzCore/QuartzCore.h>

@implementation OverlayView

-(UIView*)hitTest:(CGPoint)point withEvent:(UIEvent*)event {

    UIView* subview = [super hitTest:point withEvent:event];  // this will always be a webview

    if ([self isTransparent:point fromView:subview.layer]) // if point is transparent then let superview deal with it
    {
        return [self superview];
    }

    return subview; // return webview
}

- (BOOL) isTransparent:(CGPoint)point fromView:(CALayer*)layer
{
    unsigned char pixel[4] = {0};

    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();

    CGContextRef context = CGBitmapContextCreate(pixel, 1, 1, 8, 4, colorSpace, …
Run Code Online (Sandbox Code Playgroud)

pixel objective-c rgba ios wkwebview

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

标签 统计

ios ×1

objective-c ×1

pixel ×1

rgba ×1

wkwebview ×1