小编And*_*dez的帖子

在SCNNode上加载WebView CALayer时出现问题

我正在寻找帮助,找出如何解决这个问题.SceneKit允许您将CALayer设置为SCNNode外观的内容.是否可以从UIWebView获取CALayer并将其呈现为SCNMaterial的内容?

我试图将SCNNode的漫反射内容更改为函数中的WebView层 - (void)webViewDidFinishLoad:(UIWebView*)webView完成,但代码崩溃.

但我收到此错误:43282] bool _WebTryThreadLock(bool),0x7fae33f33680:试图从主线程或Web线程以外的线程获取Web锁.这可能是从辅助线程调用UIKit的结果.现在崩溃......

这是我的代码供参考

//
//  GameViewController.h
//  WebViewLayerTest
//

#import <UIKit/UIKit.h>
#import <SceneKit/SceneKit.h>

@interface GameViewController : UIViewController <UIWebViewDelegate,SCNNodeRendererDelegate>
@property (nonatomic, retain) IBOutlet UIWebView *webView;
@property (nonatomic,retain) SCNBox *box;
-(void) storeLayer;
@end



//
//  GameViewController.m
//  WebViewLayerTest
//
//

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

@implementation GameViewController 

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.webView = [[UIWebView alloc] initWithFrame:CGRectMake(10, 10, self.view.bounds.size.width-20.0, self.view.bounds.size.height-30.0)];
    
    NSString *urlAddress = @"https://www.google.com/";
    NSURL *url = [NSURL URLWithString:urlAddress];
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
    [self.webView loadRequest:requestObj];
    
    self.webView.delegate = …
Run Code Online (Sandbox Code Playgroud)

uiwebview calayer ios scenekit

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

标签 统计

calayer ×1

ios ×1

scenekit ×1

uiwebview ×1