我制作了一个带有下拉菜单的状态栏应用程序。我想从下拉菜单中打开一个设置窗口。我制作了一个带有自己的ViewController的设置窗口。
问题是我不知道如何示例化和显示我所做的设置窗口。我试图跟踪互联网上的每一个线程,但没有任何成功。
我的视图控制器:
class SettingsViewController: NSViewController {
@IBOutlet var ipAddress: NSTextField!
@IBOutlet var port: NSTextField!
@IBAction func connect(sender: AnyObject) {}
override func viewDidLoad() {
super.viewDidLoad()
}
}
我的应用程序代理:
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet var statusMenu: NSMenu!
var statusItem: NSStatusItem?
var tcpService: TcpService = TcpService()
func applicationDidFinishLaunching(aNotification: NSNotification?) {
let bar = NSStatusBar.systemStatusBar()
statusItem = bar.statusItemWithLength(20)
statusItem!.menu = statusMenu
statusItem!.image = NSImage(byReferencingFile: NSBundle.mainBundle().pathForResource("16*16", ofType: "png"))
statusItem!.highlightMode = true
tcpService.initOutputStream("192.168.1.1", Port: 8888)
}
func applicationWillTerminate(aNotification: NSNotification?) {
// Insert code here to tear down your application
}
@IBAction func openSettings(sender: AnyObject) {
// open settings for ip and port optional port
}
}
4条答案
按热度按时间vhipe2zx1#
在Swift 3:
envsm3lx2#
2022年
1.在普通主情节提要中,点击以添加新窗口控制器。
1.精确地点击红色“X”,然后点击蓝色圆圈,然后在绿色条目处输入“ExampleID”。
1.在应用程序普通主视图控制器中,添加以下内容
变量:
功能:
就是这样。
想打电话就打给
otherWindow
。问题:
不可避免地,你会想以某种方式设置otherWindow,例如,透明,或者其他。不幸的是,这本身就是一个完整的主题,但你可以这样做:
然后
6ojccjat3#
bsxbgnwa4#
我不是100%完全理解您的问题,但是假设您使用的是故事板(如果您是从头开始,则应该使用),在applicationDidFinishLaunching方法中添加几行代码将有所帮助:
不要忘记在IB中设置情节提要ID(在上面的示例中为SettingsViewController)!