كيف يمكنني تغيير القائمة الرئيسية في الكاكاو؟

StackOverflow https://stackoverflow.com/questions/363156

سؤال

لدي تطبيق الكاكاو مع نوعين من النوافذ يتطلب كل منهما قائمة رئيسية مختلفة لعرضها.

في بلدي mainmenu.xib لدي الافتراضي mainmenu. في window1.xib لدي window1 و in window2.xib لدي window2 وهو mainmenu.

عندما يكون لديّ النافذة الأولى مفتوحة ، لدي القائمة الافتراضية ، عندما أفتح Window2 أحصل على قائمة.

ومع ذلك ، عندما أعود إلى Window1 ، ما زلت أرى قائمة Window2. كيف أقوم بعمل القائمة المعروضة اتبع نافذة المفتاح؟

هل كانت مفيدة؟

المحلول

nsapplication لها طريقة ، - (void)setMainMenu:(NSMenu *)aMenu. يمكنك تمريره مرجعًا إلى القائمة الصحيحة في وحدة تحكم النافذة المناسبة ، عن طريق التنفيذ - (void)windowDidBecomeKey:(NSNotification *)notification.

ضع في اعتبارك أنه قد يكون من الأسهل تغيير القوائم الفرعية بدلاً من تبديل القائمة الرئيسية بأكملها ، حيث لن تضطر إلى الحفاظ على نسختين مختلفتين من التطبيق ، والمساعدة ، وغيرها من القوائم التي لن تتغير بين النوافذ .

نصائح أخرى

بشكل عام ، يجب ألا تحل محل القائمة الرئيسية بأكملها في كل مرة. إنه أكثر امتثالًا لإرشادات الواجهة البشرية لمجرد تعطيل أي عناصر قائمة لا تنطبق على النافذة الحالية. وإذا كان لديك حقًا مجموعة مختلفة تمامًا من القوائم في شريط القائمة ، فربما يجب عليك تقسيم هذا الجزء من التطبيق إلى تطبيق منفصل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top