在对java.io.IOException: open failed: EACCES (Permission denied)
进行子类化时,它有两种方法:
private File createImageFile() throws IOException {
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String imageFileName = "JPEG_" + timeStamp + "_";
File storageDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
File image = File.createTempFile(imageFileName, ".jpg", storageDir);
currentPhotoPath = image.getAbsolutePath();
return image;
}
,GLKViewController
。这两种方法似乎都被称为每帧。文档内容如下:
作为在委托中实现
- (void)update
方法的替代方法,您的子类可以提供更新方法。该方法必须具有以下签名:
- (void)glkView:(GLKView *)view drawInRect:(CGRect)rect
我应该在代码中覆盖哪一个,以及哪些应该包含绘制调用?
答案 0 :(得分:1)
此主题回答:Difference between glkView:drawInRect: and glkViewControllerUpdate:? OpenGL ES 2 - iOS
引用:
关于update()视图控制器调用其委托的glkViewControllerUpdate:方法。您的代理人应更新不涉及将结果呈现到屏幕的帧数据。
关于drawInRect:GLKView对象使其OpenGL ES上下文成为当前上下文,并将其framebuffer绑定为OpenGL ES呈现命令的目标。然后,您的委托方法应该绘制视图的内容。