作者zonble (zonble)
看板MacDev
標題Re: [問題] MAC APP Event使用問題
時間Fri Nov 19 18:14:08 2010
※ 引述《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