Objective C - Flera rader i label.

Permalänk

Objective C - Flera rader i label.

Hej sitter lite med objective c och har fastnat, Jag ska skriva ut rad(nummer som är random) i label genom att klicka på en spara knapp. Det funkar utmärkt men när jag vill ha kvar min rad som redan finns där och addera en rad över med de nya nummrena så ändras bara första raden till de nya numrena.

såhär ser min kod ut för spara knappen.

NSString random[10];

random[nummerPlace] = [NSString stringWithFormat:@%i %i %i %i %i, tal[1], tal[2], tal[3], tal[4], tal[5]];

[label setText:random[nummerPlace]];

nummerPlace ++;

Finns det något sätt att lägga till rader? vet att min setText:random[nummerPlace]]; bara ändrar texten men vet inte hur jag ska gå tillväga.

//MVH, Tim

Permalänk
Medlem

För att lägga till mer text på den redan existerande,

label.text = [label.text stringByAppendingString:@ny text];

Vill du lägga till rader får du först sätta labeln till att acceptera flera rader

label.numberOfLines = 0;

Därefter kan du lägga in newline tecken (\n) i dina strängar,

label.text = [label.text stringByAppendingString:@\nny text på ny rad];

Om du inte har automatisk resize eller labeln inte är tillräckligt stor får du ändra storleken med genom att antingen ändra framen eller genom att be den anpassa sin storlek

[label sizeToFit];

Visa signatur

(ಠ‿ಠ)

Permalänk

Tack så mycket! fungerar utmärkt!. En liten fråga till bara. När dessa tal slumpas och sparas in så hamnar de nyaste talet underst, finns det något sätt där man kan få det nyaste sparade talet överst?

Permalänk
Medlem

Du byter helt enkelt plats på "stringByApendingString" och "\nny text på ny rad"

Visa signatur

Server: Fractal design Define 7 XL | AMD Ryzen 7 5800X 8/16 | ASUS ROG CROSSHAIR VIII DARK HERO | 64GB Corsair @ 3000MHz | ASUS Radeon RX 460 2GB | Samsung 960 PRO 512 GB M.2 | 2x 2TB Samsung 850 PRO SSD | 6x Seagate Ironwolf Pro 10TB
WS: Phantex Entoo Elite | AMD Ryzen Threadripper 1950X 16/32 | ASUS Zenith extreme | 128GB G.Skill @ 2400MHz | ASUS Radeon HD7970 | 3x 2TB Samsung 960PRO M.2 | 6x Seagate Ironwolf Pro 10 TB
NEC PA301W 30" @ 2560x1600 | Linux Mint 21.3 Cinnamon