Swift教程:如何在Interface Builder中使用AutoLayout在水平方向上配置NSScrollView(MacOS X,Swift 4.2)

本文最初发布在 http://popcornomnom.com/


你好! 不久前,我已经开始为MacOS编写应用程序(我具有IOS开发背景),并且遇到了这样一个问题,即我的问题大部分答案是:

  • 已过时(超过3年前的答案,因此某些功能已被弃用)
  • (关于目标C的一些答案让我的“笨拙”的眼睛有点痛苦),
  • 答案适用于iOS,而不适用于OS X

有时找到所需答案的难度比应该的要难。
因此,我决定开始编写循序渐进的快速教程(格式为问题解答的简单教程)。

问题

内容不适合应用程序窗口,并被视图控制器剪切。

要解决此问题,您需要向视图中添加约束以达到内容的动态宽度和高度。

好的,让我们开始吧!

步骤1-3。

(步骤1-在下面的图像上)首先将NSScrollView拖动到ViewController。 然后在“属性检查器”的左侧面板中,选择(2)“边框类型” —无,然后选择(3)取消选中“绘制背景”。

步骤4。

之后,添加与超级视图相关的顶部/底部/前导/尾随约束。 我将最高约束设置为20,因为我的NSWindow“完整内容视图” = true。

第五步

然后添加您的内容视图(在我的情况下,这是2个由NSStackView包装的标签)。

第六步

接下来,我们向您的contentView添加顶部,顶部,尾部约束,并向底部添加两个底部约束。 我将所有常量设置为24。

步骤7–8。

然后(7)将第一个底部偏移关系更改为小于或等于(≤) ,并将优先级设置为490 ,(8)将第二个底部偏移关系设置为大于或等于(≥)优先级510

步骤9。

(9)除此之外,我还添加了一个最小的contentView宽度500( 宽度常数 = 500关系大于或等于 )。

步骤10-11。

对于scrollView的documentView,添加顶部,顶部,两个尾部和两个底部约束。 (10)将第一尾随偏移关系设置为小于或等于 ,并将优先级设置为510 ,对于第二关系大于或等于 ,将优先级设置490 。 (11)对底部约束执行相同的操作。

步骤12

最后,应将NSClipView的isFliped属性更改为true。


而已。
希望本文对您有所帮助。
源代码:

popcornomnom / ScrollView-教程

分步指南:使用Interface Builder中的AutoLayout在水平方向上使用NSScrollView…

github.com


查看我的其他文章:

●如何为iOS和MacOS创建自己的xCode文件模板

●处理iOS中的Internet连接可达性(Swift 5)

●iOS本地化建议(快速5)


如果您喜欢阅读,可以检查我的应用程序


如果您有任何疑问或发现任何错误,请告诉我。

与丽塔(Rita)❤️撰写