【发布时间】:2019-04-12 20:35:37
【问题描述】:
我正在开发我的第一个应用程序。我有一些我想连接的 NSButton,以便每个按钮将不同的子视图加载到现有的 NSView 中。我对此还是很陌生,我正在努力寻找最好的编码方式。
我有一个类来处理按钮动作,为了简洁起见,这里只显示一个:
class SelectorTest: NSObject {
@objc class func printButton1Pushed(_ sender: NSButton) {
print("button one pushed")
ContentView.showView1()
}
}
以上工作正常,按下按钮时字符串会打印到控制台。它给出了“调用'showView1()'的结果未使用”错误。我想我正在为在 ContentView 类的 showview1() 方法中添加什么而苦苦挣扎。
我创建了一个视图、一个 .xib 和一个名为相同事物的类。如果我添加为子视图并运行应用程序,这会很好。按下按钮时如何加载它?这是我到目前为止的代码,按钮不加载视图:
class ContentView: NSView {
static let cView = NSView()
class func showView1() -> NSView {
let view1 = TestView()
cView.addSubview(view1.view)
return cView
}
}
编辑:有关该项目的更多信息。我有一个主视图控制器。除此之外,作为子视图,我有一个 NSStackview,其中包括左侧按钮的视图和右侧的视图,其中希望显示 NSButtons 调用的每个视图。
再读一读,我认为“调用'showView1()'的结果未使用”错误的意思是,“嘿,你调用了这个方法,它为你返回了一个NSView,但你没有使用它为任何东西”。我被困在这部分,如何更新视图以显示我刚刚创建的视图?
【问题讨论】:
-
第一个问题:按钮在哪里?大概你有一个初步的看法?另外,有视图控制器吗?可能有助于显示更多代码以将所有这些放在上下文中。 (还有你不使用故事板/笔尖的原因吗?)
-
感谢罗恩的回复。我会用更多信息更新问题。
-
什么是
SNView? -
El - 一个错字,已修复。谢谢!