首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在GLKView类型的对象上找不到属性'layer‘

在GLKView类型的对象上找不到属性'layer‘
EN

Stack Overflow用户
提问于 2014-10-16 14:12:21
回答 1查看 410关注 0票数 0

在类型为'ViewController *的对象上找不到属性'layer‘,其中ViewController的类型为GLKView,并且我正在我的opengl项目中导入以下文件

QuartzCore/QuartzCore.h

OpenGLES/ES2/gl.h

OpenGLES/ES2/glext.h

ViewController.h的代码

代码语言:javascript
复制
@interface ViewController : GLKViewController

{

    CAEAGLLayer* eaglLayer;

}

@end

ViewController.m

代码语言:javascript
复制
@interface ViewController ()

@property (nonatomic, strong) EAGLContext *context;
@property (nonatomic, strong) GLKBaseEffect *baseEffect;

@end 

@implementation ViewController

- (void)viewDidLoad
{
 [super viewDidLoad];
 // Do any additional setup after loading the view, typically from a nib.
 self.context = [[EAGLContext alloc] initWithAPI: kEAGLRenderingAPIOpenGLES2];
 GLKView *view = (GLKView *) self.view;
 view.context = self.context;
[EAGLContext setCurrentContext:self.context];

}
+ (Class)layerClass
{
   return [CAEAGLLayer class];
}

- (void)createLayer
{
 eaglLayer = (CAEAGLLayer *) self.layer;
 eaglLayer.opaque = YES;
}

请告诉我哪里做错了?

EN

回答 1

Stack Overflow用户

发布于 2016-03-04 03:32:44

您需要引用视图,而不是控制器。

代码语言:javascript
复制
_eaglLayer = (CAEAGLLayer*) self.view.layer;

应该行得通。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26397409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档