簡體   English   中英

如何從 MacOS 中的 xib 文件正確顯示模態視圖?

[英]How to show modal view from a xib file in MacOS correctly?

操作系統:MacOS 語言:Swift 4+

我想要的是

我想從我的主窗口顯示一個簡單的自定義模式視圖。 我在一個單獨的 .xib 文件中創建了這個自定義模式視圖,該文件屬於 NSWindowController 類。

在 Xcode 中,我添加了一個新文件 --> CocoaClass --> NSWindowController 的子類 --> 選中“也為用戶界面創建 XIB 文件”

我添加了一個按鈕並生成了一個操作處理程序,它只是在調試控制台上打印文本。 這是為了測試按鈕按下是否正確處理。

為了從我的主窗口顯示模態視圖,我在按下按鈕時執行了以下代碼:

let modal = SimpleModal(windowNibName: "SimpleModal")
        self.view.window?.beginSheet(modal.window!, completionHandler: { response in
            print("Finished device selection")
        })

這確實顯示了視圖,但不是作為模態視圖。 它只是在我的主窗口旁邊顯示視圖,當我單擊模態視圖中的按鈕時,模態視圖也不會對鼠標單擊事件做出反應。

我不知道如何做到這一點,所以如果你知道如何做到這一點,請回答我。

筆記:

當模態視圖出現時,主窗口應該沒有響應,直到用戶關閉模態視圖。 這就像將焦點從主窗口移動到模態視圖。

我的演示項目的來源: OSXModalView

您必須在SimpleModal.xib窗口對象的屬性檢查器中刪除Visible At Launch標志。 否則你的代碼有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM