- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试自学 OSX 应用程序开发,这样我就可以改掉自己所有的坏习惯 8)。
<小时/>可能是无关信息
我有一个可以成功运行的试用应用程序 - 它根据用户通过 slider 输入的内容调整自身大小。
执行此操作的关键代码位于一个 View Controller 中......
class JunkViewController2: NSViewController {
var myY: CGFloat!
@IBOutlet weak var mySlider: NSSlider!
@IBOutlet weak var myView: NSView!
override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.
self.preferredContentSize = NSMakeSize(self.view.frame.width, 83)
}
@IBAction func mySlider(sender: NSSlider) {
let mySplitViewController = self.childViewControllers[0] as! JunkSplitViewController
switch mySlider.intValue {
case 3:
myY = 140.0
mySplitViewController.splitViewItems[2].collapsed = false
mySplitViewController.splitViewItems[1].collapsed = false
mySplitViewController.showSubview(2)
mySplitViewController.showSubview(1)
mySplitViewController.showSubview(0)
case 2:
myY = 110.0
mySplitViewController.splitViewItems[2].collapsed = true
mySplitViewController.splitViewItems[1].collapsed = false
mySplitViewController.hideSubview(2)
mySplitViewController.showSubview(1)
mySplitViewController.showSubview(0)
default:
myY = 80.0
mySplitViewController.splitViewItems[2].collapsed = true
mySplitViewController.splitViewItems[1].collapsed = true
mySplitViewController.hideSubview(2)
mySplitViewController.hideSubview(1)
mySplitViewController.showSubview(0)
}
mySplitViewController.preferredContentSize = NSMakeSize(self.view.frame.width, myY - 50 + 3)
self.preferredContentSize = NSMakeSize(self.view.frame.width, myY + 3)
}
}
<小时/>
更多相关信息
在上面的 Storyboard上,我有三个重复的 ViewController 连接到 SplitView Controller 。我做了很多类似腰带和吊带的工作,以确保所有东西都能正确调整大小 - 但关键部分(我认为)是 .collapsed
属性。
我现在正在尝试使用完全不同的方法来完成同样的事情 - 动态添加/删除 Split View项目。这应该允许我的 Storyboard上只有一个小的 ViewController,然后根据需要实例化它。
按照这个想法,这是我的 SplitViewController ...
class JunkSplitViewController: NSSplitViewController {
@IBOutlet weak var mySplitView: NSSplitView!
override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.
//mySplitView.adjustSubviews()
}
func makeChild() -> SmallViewController {
let mySmallGroup = NSStoryboard(name: "Main", bundle: nil).instantiateControllerWithIdentifier("smallVwCtl")
self.addSplitViewItem(mySmallGroup as! NSSplitViewItem)
return mySmallGroup as! SmallViewController
}
}
主视图 Controller 调用makeChild
函数。
class JunkViewController: NSViewController {
@IBOutlet weak var mySlider: NSSlider!
@IBOutlet weak var myView: NSView!
override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.
self.preferredContentSize = NSMakeSize(self.view.frame.width, 83)
}
@IBAction func mySlider(sender: NSSlider) {
let mySplitViewController = self.childViewControllers[0] as! JunkSplitViewController
while mySlider.intValue.toIntMax() > mySplitViewController.splitViewItems.count.toIntMax() {
mySplitViewController.makeChild()
}
while mySlider.intValue.toIntMax() < mySplitViewController.splitViewItems.count.toIntMax(){
mySplitViewController.splitViewItems.removeLast()
}
}
}
我在 JunkSplitViewController 的 self.addSplitViewItem(mySmallGroup as! NSSplitViewItem)
行处收到错误...“无法将 Scratch2.SmallViewController 类型的值转换为 NSSplitViewItem”
我尝试了一些组合(强制 mySmallGroup、'self.addSplitViewItem(mySmallGroup as!SmallViewController)` 等),无论是在编译还是运行时,一切都会导致类似的错误。
我找不到任何有关 SplitViewItem 的文档。
所以问题 - 什么将作为 addSplitViewItem 的输入并仍然成功连接 SmallViewController 的新实例?
并感激地接受有关该方法的任何评论/反馈
最佳答案
我讨厌在发布问题几分钟后找到答案......
根据我找到的信息here ...
func makeChild() -> SmallViewController {
let mySmallGroup = NSStoryboard(name: "Main", bundle: nil).instantiateControllerWithIdentifier("smallVwCtl") as! SmallViewController
self.addSplitViewItem(NSSplitViewItem(viewController: mySmallGroup))
return mySmallGroup
}
...但我仍然想听到有关方法的任何反馈。谢谢。
关于swift - 重铸为 NSSplitViewItem 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37063681/
我有一个带有(几个)SplitViewItems 的SplitView。 Echt SplitViewItem 有一个 ViewController,其中包含多个 View 。 我需要检测哪个 Spl
我正在尝试自学 OSX 应用程序开发,这样我就可以改掉自己所有的坏习惯 8)。 可能是无关信息 我有一个可以成功运行的试用应用程序 - 它根据用户通过 slider 输入的内容调整自身大小。 执行此操
我正在尝试像这样折叠 NSSplitViewItem NSAnimationContext.runAnimationGroup({ context in context.duration =
我有一个继承自 NSSplitViewController 并覆盖 splitViewDidResizeSubviews 函数的类。 当我在 NSSplitViewController 中的 NSSp
我正在尝试使(10.10 中的新功能)NSSplitViewItem 折叠和展开,同时移动它的包含窗口,以便将整个东西保持在“原位”。 问题是我在动画中出现抽搐(如 here 所示)。 我进行折叠的代
我创建了一个新的空 Xcode 项目。只需将 NSSplitViewController 添加到 Storyboard,如下所示。 我运行了该应用程序,发现主窗口如下所示。 左分割 View 默认折叠
XIB 是否支持 NSSplitViewController/NSSplitViewItem?我只看到 NSSplitView 我可以拖放 NSViewController 并将其子类化为 NSSpl
几乎所有 macOS 官方应用程序都有此工具栏的功能,NSToolbarItem灵活空间受限于 NSSplitViewItem看法。我首先想到 NSToolbar 上可能有 3 个不同的部分。但它只是
我是一名优秀的程序员,十分优秀!