我将progressindicator从main.xib拖放到webview上。
我需要在webview上显示NSProgressIndicator,而不是在同一个webview上显示。
主要思想是阻止最终用户访问webview,直到NSProgressIndicator.stopAnimation(self)完成为止。
有人可以帮我解决这个问题吗。
答案 0 :(得分:0)
//为了在appdelegate.swift上显示一个模型面板,我们需要//遵循两个步骤。
// step1:从NSWindowController创建一个cocoa类,如下所示。
导入Cocoa
类ManuModalController:NSWindowController { @IBOutlet weak var progressIndicator1:NSProgressIndicator!
var mainW: NSWindow = NSWindow()
override init()
{
super.init()
}
override init(window: NSWindow!)
{
super.init(window: window)
}
required init?(coder: (NSCoder!))
{
super.init(coder: coder);
}
override func windowDidLoad()
{
super.windowDidLoad()
}
func beginSheet(mainWindow: NSWindow)
{
self.mainW = mainWindow;
NSApp.beginSheet(self.window!, modalForWindow: self.mainW, modalDelegate: self, didEndSelector:nil, contextInfo: nil);
progressIndicator1.startAnimation(self);
}
@IBAction func btnClicked(sender: AnyObject)
{
self.endSheet();
}
func endSheet()
{
NSApp.endSheet(self.window!);
self.window!.orderOut(mainW);
}
}
// step2:在appdelegate.swift中创建modalcontroller的对象,如下所示
var mdlwin = ManuModalController(windowNibName:" ManuModalController");
mdlwin.beginSheet(self.window); //显示模态面板 mdlwin.endSheet(); //关闭模态面板