Minor improvement on the code below, when title is equal to plainTitle we can set attributedTitle to nil.

This restores proper rendering of disabled items.

Finder should be able to do the same, as when its dynamic menu items are disabled, they would normally not contain the dynamic part (info about selected items).

On 20 Sep 2016, at 9:37, Allan Odgaard wrote:

Thanks, I’ll switch to using this category method for setting dynamic titles:

- (void)setDynamicTitle:(NSString*)plainTitle
if(self.userKeyEquivalent && ![self.userKeyEquivalent isEqualToString:@""])
                NSString* title = plainTitle;
                plainTitle = self.title;

                NSFont* font = self.menu.font ?: [NSFont menuFontOfSize:0];
self.attributedTitle = [[NSAttributedString alloc] initWithString:title attributes:@{ NSFontAttributeName : font }];
        self.title = plainTitle;

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to arch...@mail-archive.com

Reply via email to