0

プロパティ 'layer' がタイプ 'ViewController * のオブジェクトに見つかりません。ここで、ViewController はタイプ GLKView であり、opengl プロジェクトに次のファイルをインポートしています

QuartzCore/QuartzCore.h

OpenGLES/ES2/gl.h

OpenGLES/ES2/gext.h

ViewController.h のコード

@interface ViewController : GLKViewController

{

    CAEAGLLayer* eaglLayer;

}

@終わり

ViewController.m

@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;
}

私が間違っていることを教えてください。

エラーラインコントローラーに GLKView を追加

4

1 に答える 1

0

コントローラーではなく、ビューを参照する必要があります。

_eaglLayer = (CAEAGLLayer*) self.view.layer;

動作するはずです。

于 2016-03-03T19:32:43.560 に答える