我来自Java的背景,我正在尝试使用swift来创建OSX和iOS应用程序。我当前的项目本质上是一个flashcard应用程序,它需要能够为基于文本的用户提示创建一个弹出窗口(即,询问卡的问题是什么,或者添加String标签以按类型对闪卡进行排序)。这是我到目前为止编写的代码:
//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中的.xib(Xcode 6,Beta版本6)编写了主要的NSWindow,但我无法弄清楚如何使用WYSIWYG编辑器在推送时出现一个窗口一个按钮。我能做的最好的事情是制作另一个默认最小化/隐藏的NSWindow,但是当你按下按钮时它会显示出来(这不是一个非常好的解决方案)。我发现的另一个功能是NSAlert,但没有用户输入数据的文本字段。我的问题是如何通过修改上述方法或使用XCode提供的.xib GUI编辑器,向按下按钮弹出的NSWindow添加内容?
答案 0 :(得分:2)
您应该将内容添加到NSWindow的contentView。
let textField =. NSTextView()
textView.stringvalue = "Some string"
textView.frame = CGRectMake(10,20,50,400)
mywindow.contentView.addSubview(textView)