walmart precio powder marcas hershey entre diferencia chocolate bebida cocoa

precio - diferencia entre cocoa y chocolate



Cómo configurar el color del elemento del menú NSPopupButton (2)

Esta es una respuesta, más que una pregunta. Buscando en línea, solo encontré una respuesta realmente hackeada y contorsionada a esta pregunta ( http://www.cocoabuilder.com/archive/cocoa/58379-changing-the-text-color-of-an-nsmenuitem-in-an-nspopupbutton.html ), que puede responderse con más elegancia de la siguiente manera:

NSArray *itemArray = [scalePopup itemArray]; int i; NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys: [NSColor redColor], NSForegroundColorAttributeName, [NSFont systemFontOfSize: [NSFont systemFontSize]], NSFontAttributeName, nil]; for (i = 0; i < [itemArray count]; i++) { NSMenuItem *item = [itemArray objectAtIndex:i]; NSAttributedString *as = [[NSAttributedString alloc] initWithString:[item title] attributes:attributes]; [item setAttributedTitle:as]; }


Acabo de tener un mismo problema.

Para preservar los atributos del texto original, mi solución está aquí:

NSRange range = NSMakeRange(0, 0); NSAttributedString *cellStr = [[self.popup cell] attributedTitle]; NSMutableDictionary *cellAttr = [[cellStr attributesAtIndex:range.location effectiveRange:&range] mutableCopy]; [cellAttr setObject:[NSColor redColor] forKey:NSForegroundColorAttributeName]; NSArray *menuItems = [self.popup itemArray]; for (NSMenuItem *menu in menuItems ) { NSString *orgTitle = [menu title]; NSMutableAttributedString *title = [[NSMutableAttributedString alloc] initWithString:orgTitle attributes:cellAttr]; [menuItem setAttributedTitle:title]; }


Solo una nota aquí de que la pregunta anterior es, de hecho, la respuesta. Hay muchos enlaces en la web con soluciones demasiado complejas basadas en API más antiguas y pensé que sería útil escribir esta publicación como referencia.