簡體   English   中英

單擊可可 MAC 中的按鈕時導航到不同的窗口

[英]navigating to different windows when clicking button in cocoa MAC

我是 MAC 編程的新手。 我已經在 iOS 上完成了編程,但是使用故事板,所以對之前使用的 xib 格式不是很熟悉。

我想實現這個非常基本的,我無法弄清楚如何實現。

  1. 如何導航到不同的窗口?

  2. 如何設置按鈕的動作,即:如何設置按鈕點擊事件或按鈕翻轉事件?

  3. 將按鈕從界面構建器鏈接到第一響應者或應用程序或文件所有者是什么意思。

  4. 我們是否必須像在 iOS 故事板中那樣為每個 xib 設置類?

非常感謝 。

如何導航到不同的窗口?

在 Mac 上,可以同時看到許多窗口,因此您不必在它們之間導航,而是顯示和隱藏它們,或者將它們放在前面等等。具體做什么取決於具體情況。

如何設置按鈕的動作,即:如何設置按鈕點擊事件或按鈕翻轉事件?

您可以通過控制單擊 xib 中的按鈕並拖動到要處理它的控制器對象來為按鈕設置操作。 然后,您可以選擇一個IBAction方法在單擊按鈕時執行(您必須首先在類的頭文件中定義操作)。 要跟蹤鼠標懸停事件,請查看NSView s -addTRackingRect:owner:userData:assumeInside:方法。 那可能會有所幫助。

將按鈕從界面構建器鏈接到第一響應者或應用程序或文件所有者是什么意思。

這只是確定哪個對象獲取操作消息。

我們是否必須像在 iOS 故事板中那樣為每個 xib 設置類?

不。任何對象都可以加載 xib 並使自己成為所有者

[NSBundle loadNibNamed: @"whatever" owner: objectThatWillOwnIt];

一些資源

Apple 的Window 編程指南

Apple 的工作表編程指南(工作表是出現在其他窗口頂部的窗口,例如打開和保存面板之類的東西。

Cocoa Programming for Mac OS X ,Aaron Hillegass(我從本書的第一版中學習了 Cocoa)。

如果您的應用程序中有不同的 XIB 文件和控制器,請完全同意 JeremyP。

但是,如果您有一個簡單的應用程序,我建議保留 1 個窗口,並創建自定義視圖(可以在檢查器中找到)。

然后您可以將內容添加到這些自定義視圖中,當您想在它們之間切換時,您可以在您的應用程序中鍵入:

[window setContentView: secondCustomView];

然后稍后切換回來:

[window setContentView: firstCustomView];

有關良好的編碼實踐,請參閱 JeremyP 的回答。 只是想我會分享我的 2 美分 :)

暫無
暫無

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

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