NSPopupButton

Tråden skapades och har fått 2 svar. Det senaste inlägget skrevs .
1

OKi, jag håller på att göra ett program, jag är ganska ny i obj-C så jag behöver lite hjälp.

Jag vill att när jag väljer någonting i NSPopupBotton så ska en text rad ändras. jag gjorde en outlet on en action och länkade med knappen. Men när jag skrev:
vard = [knappen stringValue];
eller bytt string mot en mass olik saker så fungerade inte.
jag hittade det hära:
- (NSString *)titleOfSelectedItem
Returns the title of the item last selected by the user or the empty string if there's no such item.

men jag vet inte hur jag praktiskt kan använda det.

Och jag har en float variable med en mass decimaler, jag vill bara ha en decimal, hur tar jag väckt dom andra. och hur avrundar man.

Till sist.

jag har en NSString med inehållet:
"
användare:
poäng:
mail:

Simon
15
def@dsf.com
"
Användare,poäng och mail är konstant med dom andra tre sakerna kan växla i storlek.

jag vill ha en NSString med värdet av använder(simon i detta exemplet). En float med poäng. Hur i hela friden gör jag?

Citat:

Skrevs ursprungligen av Simon Edwardsson
[B]
Jag vill att när jag väljer någonting i NSPopupBotton så ska en text rad ändras. jag gjorde en outlet on en action och länkade med knappen. Men när jag skrev:
vard = [knappen stringValue];
eller bytt string mot en mass olik saker så fungerade inte.
jag hittade det hära:
- (NSString *)titleOfSelectedItem
Returns the title of the item last selected by the user or the empty string if there's no such item.

men jag vet inte hur jag praktiskt kan använda det.

[/B]
Vill du alltså kunna välja ett menyobjekt och ta dess title som sträng till exempelvis en NSTextField?
Jag har inte använt NSPopUpButton, men du kanske kan göra något i stil med det här:

- (IBAction)selectMenu:(id)sender
{
[myTextField setStringValue:[sender titleOfSelectedItem]];
}

sender är en pointer till det objekt som skickar ett event, i detta fall ditt meny-objekt. Är inte säker på om ovanstående kod funkar dock, men det kanske kan vara ett steg i rätt riktning?

Citat:

Och jag har en float variable med en mass decimaler, jag vill bara ha en decimal, hur tar jag väckt dom andra. och hur avrundar man.

Om du vill presentera den i en textfield:

[myTextField setStringValue:[NSString stringWithFormat:@"%1.1f", floatValue]]

Annars kan du använda C-funktionen floor() för att skriva din egen avrundning... typ floor(10*floatValue)/10
(...det kan mycket väl finnas någon Cocoalösning som jag inte använt!)

/Jont Olof

Citat:

Skrevs ursprungligen av Jont Olof - (IBAction)selectMenu:(id)sender
{
[myTextField setStringValue:[sender titleOfSelectedItem]];
}

Vid närmare eftertanke kanske koden skulle se ut på följande sätt:

- (IBAction)selectMenu:(id)sender
{
[myTextField setStringValue:[sender title]];
}

eftersom din sender i detta fall sannolikt har en funktion som heter title (NSButton, NSMenu och NSMenuItem har det) så borde det fungera...

1
Bevaka tråden