我正在从Apple iPhone示例代码中查看EAGLView文件,并且试图了解EAGLViewDelegate协议的工作原理。

题:

如何调用didResizeEAGLSurfaceForView函数?我看不到它的任何实现?

EAGLView.h

@protocol EAGLViewDelegate <NSObject>
- (void) didResizeEAGLSurfaceForView:(EAGLView*)view;
   //Called whenever the EAGL surface has been resized
@end

@interface EAGLView : UIView
{
  @private
    id<EAGLViewDelegate>    _delegate;
}


@property(assign) id<EAGLViewDelegate> delegate;

EAGLView.m
@implementation EAGLView

@synthesize
    delegate      = _delegate,

//......
@end

最佳答案

我假设您所指的是CrashLanding,GLGravity或GLPaint示例,因为这些示例是我可以在此协议中找到的唯一示例。在MyEAGLView -_createSurface方法中调用了didResizeEAGLSurfaceForView:方法。但是,该方法未在任何地方实现,因为在任何这些示例中均未为MyEAGLView设置委托。

所以,不,我认为您没有丢失任何东西。这看起来像残留代码。

关于ios - 了解EAGLView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/385428/

10-11 13:24