NSMenuItem الدولة تمكين تسمية ديناميكية والعمل المستهدف
سؤال
وأواجه مشكلة مع بلدي القائمة التطبيق. أريد بعض البنود في القائمة إلى أن الرمادي خارج اعتمادا على بعض المتغيرات BOOL
.
وبالإضافة إلى ذلك، أريد بعض من بلدي عناصر القائمة للحصول على الأسماء تبعا لبعض المتغيرات BOOL
وبالتالي تنفيذ وظائف مختلفة اعتمادا على ما هو اسم عنصر القائمة. هل هذا ممكن؟ كما تستخدم واجهة البناء يمكنك ربط عنصر قائمة إلى طريقة IBAction واحد. من فضلك قل لي كيفية القيام بذلك.
والشكر
المحلول
ويمكنك تنفيذ -validateMenuItem :، الذي يستخدم لتحديد ما إذا كان ينبغي تمكين عنصر قائمة أو تعطيلها. انها دعت لكل عنصر القائمة فقط قبل برزت من القائمة المنبثقة.
نصائح أخرى
نعم. يمكنك تعيين حالة تمكين عنصر القائمة وعنوانه برمجيا. راجع وثائق NSMenuItem. تذكر أن استخدام NSLocalizedString
عند الحصول على شكل العنوان.
وبالنسبة للسؤال الثاني. أنت لا تحتاج إلى استخدام واجهة البناء لعقف الهدف / عمل لعناصر القائمة.
ويمكنك استخدام رمز مثل هذا:
NSMenuItem *menuItem; // Set this to your menu item.
// Set the target to an instance of a class which contains the action method.
[menuItem setTarget:targetClass];
// Set the action to the (IBAction) method to call.
[menuItem setAction:NSSelectorFromString(@"actionMethod")];