【问题标题】:show NSProgressIndicator on top of webview在 webview 上显示 NSProgressIndicator
【发布时间】:2015-03-02 06:55:59
【问题描述】:

我将进度指示器从 main.xib 拖放到 webview 上。

我需要在 webview 上显示 NSProgressIndicator ,而不是在同一个 webview 上显示。

主要思想是阻止最终用户访问 webview,直到并且除非 NSProgressIndicator.stopAnimation(self) 完成。

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: webview nsprogressindicator


    【解决方案1】:

    //为了在 appdelegate.swift 之上显示模型面板,我们需要//遵循两个步骤。

    //step1: 从 NSWindowController 创建一个 cocoa 类,如下所示。

    进口可可

    类 ManuModalController: NSWindowController { @IBOutlet 弱 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(); //关闭模态面板

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-06
      • 2018-11-11
      • 1970-01-01
      • 2022-10-25
      • 1970-01-01
      • 2020-07-06
      相关资源
      最近更新 更多