看板 MacDev 關於我們 聯絡資訊
※ 引述《roinla (GARFIELD~)》之銘言: : 小弟最近cocoa剛入門沒多久,對event的使用方式一直很不清楚,fucntion都設定了 : 就是一直沒反應。 : 我開了一個@interface XXX:NSObject的物件, : 宣告了-(void)keyDown:(NSEvent *)theEvent : { : NSLog(@"Event Test"); : } : build APP出來時,無論如何keyin任何安鍵都沒反應都不會跑進這個fucntion, : 想請教一下是不是那裡出了問題? : 謝謝~新手發問q"q~謝謝大家不吝指教 這些事件都是來自 NSResponder,所以,要接收事件,首先要確定 你的 Object 存在於 responder chain 當中,例如,你想要用來接收 鍵盤事件的 object,到底是什麼?是 View?還是 Controller? 如果是一個 view,首先你必須要有辦法把這個 view 變成 first responder。所以,就需要實作 - (BOOL)acceptsFirstResponder 回傳 YES。 -- zonble.net cocoa.zonble.net -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.196.227
roinla:請問,除了想要接受事件的東西除了NSview,NScontrol之外 11/22 08:55
roinla:也可以是textfield或tableview、NSbutton之類的嗎? 11/22 08:56
zonble:這些物件都是繼承自 NSControl 的 11/22 20:07
zonble:但是如果是在這些物件中的文字框打字,要注意 field editor 11/22 20:07
zonble:的問題 11/22 20:07
roinla:firstresponder已設定好,field editor會有什麼問題嗎? 11/23 10:34
roinla:field editor我有用過textdidchange之類的,可以抓內容變化 11/23 11:08
roinla:但是,跟我有要觸發keydown有什麼關連嗎?~請指教,謝謝 11/23 11:08