【发布时间】:2019-03-26 01:14:24
【问题描述】:
我是一名新手 Mac OS X 开发人员。我认为这是一个简单的问题,但我无法通过搜索找到任何有用的结果。
如何限制 SECOND 视图控制器的大小?
我从一个简单的 Mac OS X 应用开始,只有一个视图控制器。我可以选择包含 View Controller 的窗口,然后选择“Size Inspector”并选中“Minimum Content Size”框,并为窗口指定最小 x 和 y。
这允许我指定第一个视图控制器的最小尺寸,正如我所期望的那样。一切都很好。
然后我添加了第二个视图控制器,它带有来自第一个视图控制器的模态segue,由按下按钮触发。我将 NSTextView 添加到第二个视图控制器,以显示属性字符串。文本视图工作正常,正确显示属性字符串。这个文本视图是一个单独的窗口,没有最小尺寸限制。
那么我如何指定第二个视图控制器视图的最小尺寸?这通常是在 Interface Builder 中完成的,还是以编程方式完成的?当我使用 Document Outline 逐步浏览视图层次结构时,我看不到如何使用 Size Inspector 指定最小尺寸。我错过了什么吗??
这是我的简化代码:
文件“ViewController.swift”
class ViewController: NSViewController {
...
override func prepare(for segue: NSStoryboardSegue, sender: Any?) {
let secondVC: SecondViewController = segue.destinationController as! SecondViewController
secondVC.reportAttrString = myReport.reportText
}
...
}
文件“SecondViewController.swift”
class SecondViewController: NSViewController {
var reportAttrString = NSMutableAttributedString()
@IBOutlet var ReportTextView: NSTextView!
}
如果有任何建议或指向任何可能对我有帮助的文档或教程,我将不胜感激。
【问题讨论】:
-
通过说“此文本视图是一个单独的窗口”,您是说您希望您的第二个
NSWindow具有与第一个NSWindow相同的最小内容大小吗? -
我希望能够以编程方式或通过界面生成器设置新窗口的最小 x 和 y。我使用“单独的窗口”来描述 OS X 打开单独窗口的“模态”行为,而 iOS 只使用相同的窗口。
标签: swift xcode macos nsviewcontroller