首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSScrollView中的NSOpenGLView?

NSScrollView中的NSOpenGLView?
EN

Stack Overflow用户
提问于 2012-08-23 13:54:28
回答 1查看 530关注 0票数 2

我有我的NSOpenGLView的缩放方法。如果放大图像,则会增加NSOpenGLView帧大小、视口等。如果NSOpenGLView正在缩小(帧大小、视口等正在缩小),也会发生同样的事情。所以我需要的是,如果图像被放大,NSOpenGLView比我的窗口大,滚动条应该会出现。所以我想把NSOpenGLView放到NSScrollView上会是我的解决方案。但它没有。它不起作用。那我怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-02 18:14:56

在界面生成器中将NSOpenGLView放入NSScrollView时,必须重新定义自定义视图的方法:

  • - (void)awakeFromNib -这里是initialisations.
  • - (void)drawRect: (NSRect) dirtyRect和其他rendering.
  • - (void)setFrame:(NSRect)frame -这里是OpenGL -这是对帧大小更改的反应。

作为视口使用visibleRect的大小:

代码语言:javascript
复制
glViewport(0,
           0,
           self.visibleRect.size.width,
           self.visibleRect.size.height);

如果您的视图正在闪烁,请同时重新定义方法resizeWithOldSuperviewSize

代码语言:javascript
复制
- (void)resizeWithOldSuperviewSize:(NSSize)oldSize {
};

但是它是hack,如果使用它的话,最好是自定义实现剪辑视图。

如果你想缩放你的OpenGL视图,只需改变它的边框大小。

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

https://stackoverflow.com/questions/12085523

复制
相关文章

相似问题

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