2012-03-22 16 views
55

Utworzyłem UISegmentedControl z dwoma segmentami przy użyciu kreatora interfejsu (z storyboardu), ale chciałbym programowo ustawić tekst dwóch segmentów. Chcę to zrobić, ponieważ używam NSLocalizedString dla wszystkich moich przycisków, etykiet, tytułów itp. Tworzę wszystkie rzeczy w budowniczym interfejsu, a następnie dodaję tekst programowo. Udało mi się sprawić, aby każdy element działał w ten sposób, ale nie mogę znaleźć sposobu na dodanie tekstu do mojego UISegmentedControl.Tekst UISegmentedControl programowo

Czy jest jakiś sposób to zrobić? Próbuję użyć następujących, ale ponieważ segmentowane formantu jest już utworzony w konstruktorze interfejsów nie działa.

[segmentedControl initWithItems:[NSArray arrayWithObjects:NSLocalizedString(@"Title 1", @"Title 1"),NSLocalizedString(@"Title 2", @"Title 2"), nil]]; 

Thanks a lot

Odpowiedz

172
[segmentedControl setTitle:<YourLocalizedString> forSegmentAtIndex:0]; 
+3

segmentedControl.setTitle ("rzeczy", forSegmentAtIndex: 0) - szybka wersja – ignotusverum

+0

Dzięki ... ale też, kolejny tych głupich konwentów Apple'a, które lepiej byłoby "segmentedControl.titles = [" title "," title "," title "]' imo – Magoo

2

Prawidłowa odpowiedź dla osób korzystających SWIFT 4 byłoby

segmentedControl.setTitle("Your Title", forSegmentAt: 0) 
Powiązane problemy