nsresponder

    54熱度

    2回答

    我有一個NSWindowController控制NSWindow其中NSComboBox的Cocoa應用程序。沒什麼特別的,在升級到OS X 10.7.2之前它工作正常。現在我得到以下異常,當窗口控制器的窗口加載時,該異常只發生一次。 (由於我應用程序中的窗口控制器保持加載狀態,因此每次啓動應用程序時只會發生一次。)隨後,將組合框對焦並取消對焦不會觸發它。 任何人都知道10.7.2中是否有所改變,

    2熱度

    1回答

    我有一個奇怪的問題,我點擊離開我的窗口。它辭去了主要和關鍵。然後我再次點擊它,並且點擊的視圖不響應鼠標點擊。但第二次點擊確實會導致視圖作出迴應。就好像在第一次點擊時那樣,窗口不是關鍵,點擊使它變成了關鍵,並且能夠處理第二次點擊。 我分類NSApplication並攔截sendEvent:以查看我的應用程序在第一次點擊事件期間是否獲取了事件並且確實如此。此外,我甩掉了響應者鏈,並且看到我的觀點確實存

    4熱度

    2回答

    我有MyView(NSView的子類)在另一個NSView內的幾個視圖。 MyView器具-mouseEntered:,-mouseExited:,-mouseDown:,-mouseDragged:和-mouseUp:。 幾乎總是,當一個MyView收到一個鼠標按下事件時,所有後續的鼠標拖動事件都被同一個MyView接收,直到下一個鼠標按下事件。即使光標不在MyView之外。這是預期的行爲。 偶

    0熱度

    1回答

    我作爲NSControl子類實現了一個tabbar視圖。 當我點擊它,AppKit將在嘗試更新我的NSWindow的firstResponder。因爲我不希望tabbar成爲firstResponder(acceptsFirstResponder返回NO),NSWindow本身將成爲firstResponder。我的響應者鏈將由窗口和它的控制器組成,並且沒有動作消息被傳遞到tabbar(NSOut

    0熱度

    1回答

    我想在表格視圖單元格的文本編輯會話期間攔截或禁用Cmd-Z/Shift-Cmd-Z。 這是一個基於單元格的表格視圖,其中一系列列的值彼此相互影響,例如填充某些列會自動填充其他列。當用戶在編輯會話中按下Cmd-Z時,撤消管理器可以更改當前正在編輯的屬性,併爲用戶帶來混亂的結果。 下面是一個例子: 步驟1:用戶類型」 0.030" ,在第二列: 步驟2:用戶按下標籤上,模型自動更新列三個,四個,和五:

    0熱度

    1回答

    從我的理解中,代理類是始終從NSResponder類繼承的類,而delegate僅適用於繼承自NSResponder的類。 NSMenu直接從NSObject繼承,那麼爲什麼我會在outlets中看到deletgate? 或者是我誤解了按住Ctrl鍵並單擊Interface Builder中的某個對象後所看到的選項?我看到Outlets,Referencing outlets,Received A

    2熱度

    3回答

    我有一個應用程序,其中有一個從NSView派生的自定義視圖。 在這個視圖中,有幾個自定義子視圖,它們也是從NSView派生的。 我想實現一個拖放行爲,允許將URL拖放到視圖上。一切都已經在爲主要觀點工作。 所以,實際上我必須在子視圖和父視圖類上實現拖動行爲處理程序。 問題是,我不想將完整的處理代碼複製到所有子視圖,以使它們也接受拖動事件。所以我認爲這將是讓他們將所有拖動事件轉發給父視圖的最佳方式。

    2熱度

    1回答

    這是實現基於鍵盤的遊戲控制器。 左/右箭頭使角色走路。 shift +左/右使字符運行。 下面是我使用至今代碼: - (void)keyDown:(NSEvent *)event{ if ([event modifierFlags] & NSShiftKeyMask) { NSLog(@"Shift key pressed"); } // logic f

    5熱度

    2回答

    我真的很喜歡我的自定義視圖,可以與​​,-deleteForward:,-selectAll:等一起使用,但我還想通過我不關心的響應者鏈上的任何密鑰。現在我要重寫-keyDown:來撥打[self interpretKeyEvents:[NSArray arrayWithObject:event]];,但這似乎是所有關鍵事件的主角,即使我的觀點沒有迴應。 有什麼辦法可以將不需要的事件傳遞到鏈上,但

    0熱度

    1回答

    在我的Cocoa應用程序中的應用程序菜單上有一個菜單項「刪除」,它發送一個delete:消息給第一響應者。現在,我的鍵盤集中在NSOutlineView,這是本例中的第一個響應者。短的子類NSOutlineView,有沒有辦法處理傳遞給它的delete:消息? NSOutlineViewDelegate和NSOutlineViewDataSource協議似乎都沒有爲處理這些操作定義任何有趣的事情。