1
我創建了一個彈出菜單以編程方式並使用委託方法menuNeedsUpdate更新它:(NSMenu *)菜單,然後使用popUpMenuPositioningItem顯示它:nil atLocation:mouseLoc inView :無方法。彈出菜單呼籲更新每個按鍵上的所有菜單
就鼠標控制而言,它工作正常。但是,當使用鍵盤(字母或箭頭鍵)時,我注意到它調用menuNeedsUpdate:對於所有內容,根菜單和子菜單。這是非常低效的,並使得通過鍵盤緩慢使用菜單。
這是怎麼發生的?任何方式來規避或阻止它?
輝煌。這解決了它。有趣的是,爲了調試目的,我在menuHasKeyEquivalent:forEvent:target:action:方法中放置了一個NSLog,以查看它是否被調用。那麼,它會被稱爲我想,因爲它現在工作正常(不會填充每個按鍵上的整個菜單),但NSLog不出於某種原因。 – the979kid 2010-07-21 06:37:39
奇怪,但我很高興它的工作! – Wevah 2010-07-22 21:23:57