Kontroler dodaje UISegmentedControl
do paska nawigacji. Sterowanie podzielone na segmenty jest dodawane do paska nawigacyjnego w metodzie sterownika, ale rzeczywiste segmenty są tworzone dynamicznie po wywołaniu viewDidLoad
.Automatyczne zmienianie rozmiaru w pasku nawigacji segmentowanego elementu sterującego zbudowanego dynamicznie
Nie mogę automatycznie zmienić rozmiaru segmentów po wyświetleniu widoku. Wszystkie są zgniecione, like in this post, ale rozdzielczość nie ma tutaj zastosowania. Jeśli segmenty zostaną dodane przed dodaniem segmentowanego elementu sterującego do prawego elementu paska nawigacji (zrywając dynamiczną naturę kodu), zostaną one automatycznie zmienione i będą wyglądać poprawnie po wyświetleniu widoku.
Poniżej jest obnażona wersja mojego kodu, poniżej. czego mi brakuje?
@implementation MyController
- (void)viewDidLoad {
// segmentedControl is an ivar
segmentedControl = [UISegmentedControl alloc] initWithItems:[NSArray array]];
UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl] autorelease];
self.navigationController.navigationBar.topItem.rightBarButtonItem = barButtonItem;
}
- (void)someMethodCalledAfterViewDidLoad {
[segmentedControl insertSegmentWithTitle:@"a title"
atIndex:0
animated:NO];
}
@end
Witam @ Krzysztof, próbowałem, ale niestety nie działało. – ptrico
Pracował dla nas, dzięki! –