使用垂直自动调整大小时视图向上移动

Posted

技术标签:

【中文标题】使用垂直自动调整大小时视图向上移动【英文标题】:View is moved up when using vertical autoresize 【发布时间】:2012-11-01 18:03:18 【问题描述】:

在我的自定义绘制窗口中,我有一个 NSTextView,我想让 NSScrollView 用空白空间分隔。这就是我在xib中设置的方式。

在界面生成器中看起来不错,两者之间有很好的空间

但是当我运行程序时,滚动视图向上移动,实际上覆盖了文本视图:

但是当我禁用滚动视图的垂直自动调整大小时,一切正常。

文本视图和滚动视图位于 NSView 下,因此它们是兄弟。

【问题讨论】:

【参考方案1】:

很可能是系统的缺陷,因为滚动视图被完全隐藏,所以它可能被移动了。

我已经通过子类化 NSScrollView 和覆盖来解决它 - (void)resizeWithOldSuperviewSize:(NSSize)oldSize_; 所以现在我可以完全按照我的意愿定位滚动视图了。

【讨论】:

以上是关于使用垂直自动调整大小时视图向上移动的主要内容,如果未能解决你的问题,请参考以下文章

内视图自动调整外视图大小

键盘向上时如何调整列表视图的大小?

在自定义容器视图中旋转时 AutoLayout 不会调整视图大小?

如何在 Xcode 7 中使用对象库的堆栈视图

启用自动布局的 iOS 调整视图大小

自动布局:窗口调整大小时如何更改框架的原点?