- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个非常简单的设置,有一个 mainViewController,上面有一个 GLKViewController。这个想法是将我的 GLKViewController 放在一个盒子里,在 mainViewController 上占据屏幕的 1/3。这可以在下面看到:
那个白框是我自己的自定义 GLKViewController,代码如下:
boxViewController.h
//boxViewController.h
#import <UIKit/UIKit.h>
#import <GLKit/GLKit.h>
@interface boxViewController : GLKViewController
@end
boxViewController.m
//boxViewController.m
#import "boxViewController.m"
@interface boxViewController () { }
@property (strong, nonatomic) EAGLContext *context;
@end
@implementation boxViewController
-(void)viewDidLoad {
[super viewDidLoad];
self.context = [[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES2];
if (!self.context) {
NSLog(@"Failed to create ES context");
}
GLKView *view = (GLKView *)self.view;
// view.context = self.context;
view.drawableDepthFormat = GLKViewDrawableDepthFormat24;
}
@end
在 viewDidLoad
中的 mainViewController
中,我只是像这样调用 boxViewController:
boxViewController* box = [[boxChartViewController alloc] init];
box.view.layer.frame = CGRectMake(10, 50, self.view.frame.size.width-20, self.view.frame.size.height/3);
[self.view addSubview:box.view];
这很完美。
请注意,在我的 boxViewController.m 中,我将 view.context = self.context
注释掉了。如果您取消注释它,我的应用程序会崩溃而不会出现任何错误消息(它会在 objc_msgSend
汇编代码 [具体为第 8 行] 中以 EXC_BAD_ACCESS
中断。
当我设置上下文时应用程序崩溃是我做错了什么?从所有教程中我注意到它们具有相同的设置,只是没有将 Controller 设置在另一个 Controller 上。虽然我不明白为什么 GLKViewController 不能在另一个 Controller 上构建,所以我认为这不是问题所在。
最佳答案
经过几个小时的摸索,我发现将 viewController 添加为子项是可行的:
#import "mainViewController.h"
@implementation mainViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.view.layer.backgroundColor = [UIColor colorWithRed:242.0f/255.0f green:242.0f/255.0f blue:242.0f/255.0f alpha:1.0].CGColor;
boxViewController* chart = [[boxViewController alloc] init];
chart.view.layer.frame = CGRectMake(10, 50, self.view.frame.size.width-20, self.view.frame.size.height/3);
chart.view.layer.borderColor = [UIColor blackColor].CGColor;
chart.view.layer.borderWidth = 2.0f;
[self addChildViewController:chart];
[self.view addSubview:chart.view];
}
关于objective-c - 将 GLKViewController 添加到 subview - GLKView 上下文导致崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15390976/
我的 iOS 应用程序使用 GLKViewController 来显示从本地网络上的外部相机流接收的数据。但是,几个小时后它挂起并且应用程序变得没有响应。如果我在调试器上暂停执行,我可以看到应用程序实
我有一个简单的 GLKViewcontroller 子类,它在被告知时呈现纹理。这本身就很好用,正是我需要它做的。但是,出于某种原因,当我试图在一个场景中使用它时,我一次有 6 个相同 View Co
我试图将 GLKView 嵌套在 UIView XIB 中。基本上按照这里的步骤: Nested GLKView and GLKViewController 我的CustomOpenGLControl
我正在尝试检测用户何时按下 GLKViewController 中的后退按钮。 View Controller 通过 Root View Controller (它是一个菜单)的 Storyboard
我正在尝试实现 this在我的项目中。但是我有一些麻烦。我计划使用 UiPanGestureRecognizer 来改变矩形的大小。据我了解,我应该使用 UIVIew 和自定义 drawRect 方法
我像这样创建一个 GLKViewController: // Create a GLK View Controller to handle animation timings _glkVC = [[G
我使用 OpenGL 游戏模板作为我的应用程序的起点,出于各种原因,我需要将我正在绘制的 GLKView 作为主视图的 subview 。我尝试设置“self.view = glView”,其中 gl
我有一个 MainMenuViewController 和一个 GameViewController,它是一个 GLKViewConrtroller。 我第一次从主菜单转到 GameViewContr
在我的 iPhone 应用程序中,我使用 Open GL GLKViewController。这是一个简单的游戏。我想使用 GoogleAnalytics 跟踪比赛,但它提出了更改 @interfac
我在这段代码的最后一行有一个 EXC_BAD_ACCESS(这段代码每秒被触发几次),但我无法弄清楚问题是什么: [EAGLContext setCurrentContext:_context]; g
我是一名新的 swift 开发人员。我正在使用 glkit 编写代码。我在 GLKViewController 不调用更新方法时遇到问题。请帮我修一下。谢谢你 import GLKit 游戏 Cont
我正在 iPhone 上使用 OpenGL 绘制一条线。我使用 GLView 和 GLKView 委托(delegate)来画线。但是现在我想给 GLKViewController 设置一个背景图片,
我是 OpenGL ES 的新手,正在试用 GLKit。我的目标是开发一个非常简单的应用程序,以便更好地感受 OpenGL。 我从 Apple 的示例代码(OpenGL ES 游戏)开始,实现了基本的
我尝试建立一个基于模板“OpenGL 游戏”的 Xcode 项目。该示例有一个带有一个 GLKViewController 和一个 GLKView 的 StoryBoard。 我想要: 一个 GLKV
如何从 iOS/iPhone 上的“GLKViewController”获取 FrameBuffer 或 RenderBuffer,以便将其传递给“glBindFramebuffer”?? 我正在尝试
我不确定为什么这不起作用,但也许这里有人可以阐明问题可能是什么。我正在开发基于 XCode OpenGL 模板的游戏。我有一个小的 GLKViewController,它的 View 不占用全屏区域,
我有一个非常简单的设置,有一个 mainViewController,上面有一个 GLKViewController。这个想法是将我的 GLKViewController 放在一个盒子里,在 main
根据这个question and its answer GLKViewController 与异步 OpenGL 绘图模式并不真正兼容。 有没有人知道任何开源或代码示例重新实现 GLKViewCont
{Xcode 4.4,部署目标 iOS5.0,不是 Storyboard,使用 ARC} 我一直在研究 iOS 中的 OpenGL,并且我在以编程方式创建 GLKViewController 和 GL
我尝试了一切: 1.在 UITrackingRunLoopMode 中使用重复的 NSTimers 并手动强制当前 GLKView 的 drawInRect。它不会更新任何内容,即使这些方法不断被调用
我是一名优秀的程序员,十分优秀!