我有 Java 背景,我正在尝试使用 swift 创建 OSX 和 iOS 应用程序。我当前的项目本质上是一个抽认卡应用程序,它需要能够为基于文本的用户提示创建一个弹出窗口(即,询问卡片的问题是什么,或者添加字符串标签以按类型对抽认卡进行排序).这是我到目前为止放在一起的代码:
//Pulls up a prompt box to add tags
@IBAction func AddTagButton(sender: AnyObject) {
//Declare new subwindow
var win = NSWindow(contentRect: NSMakeRect(100, 100, 400, 150),
styleMask: 1 | 2 | 4 | 8,
backing: NSBackingStoreType.Buffered, defer: true);
win.title = "Tag Adder";
win.center();
//Add the window to the main viewer
window.addChildWindow(win, ordered:NSWindowOrderingMode.Above);
var controller = NSWindowController(window: win);
controller.showWindow(self);
}
这将拉出一个新窗口,该窗口具有关闭、调整大小、最小化等功能。我需要以编程方式向此窗口添加一个 WrappedTextField,但我找不到有关如何执行此操作的任何资源。在 Java 中,最接近的类比是
JFrame frame = new Jframe();
JLabel label = new JLabel("Sample text");
frame.add(label); //How is this done in Swift?
frame.setVisible(true);
我通过修改 XCode(Xcode 6,Beta 版本 6)中的 .xib 编写了主要的 NSWindow,但我无法弄清楚如何使用 WYSIWYG 编辑器在推送时显示窗口一个按钮。我能做的最好的事情就是制作另一个默认情况下最小化/隐藏的 NSWindow,但会在您按下按钮时自行显示(这不是一个很好的解决方案)。我发现的另一个功能是 NSAlert,但它没有供用户输入数据的文本字段。我的问题是如何将内容添加到按下按钮时弹出的 NSWindow,是通过修改上述方法,还是通过使用 XCode 提供的 .xib GUI 编辑器?
最佳答案
您应该向 NSWindow 的 contentView 添加内容。
let textField =. NSTextView()
textView.stringvalue = "Some string"
textView.frame = CGRectMake(10,20,50,400)
mywindow.contentView.addSubview(textView)
关于user-interface - 如何在 XCode 中使用 Swift 创建新的 NSWindow 并以编程方式向其添加内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26292505/