我正在寻找帮助,找出如何解决这个问题.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)