Я никогда не добавлял сегментированный элемент управления к нижней панели инструментов без интерфейса Builder. Я не добавил этот же сегментированный элемент управления к панели управления навигацией без этой проблемы. Что я делаю не так? Спасибо.UIToolbar с аномальным содержанием жира UISegmentedControl
//enable UIToolbar
self.navigationController.toolbarHidden = NO;
//UISegmentedControl
NSArray *segmentedControlItems = [[NSArray alloc] initWithObjects:@"Day One",@"Day Two",nil];
self.segmentedCon = [[UISegmentedControl alloc] initWithItems:segmentedControlItems];
[segmentedControlItems release];
[self.segmentedCon addTarget:self action:@selector(daySegConIndexChange) forControlEvents:UIControlEventValueChanged];
[self.segmentedCon setSelectedSegmentIndex:0];
[self.segmentedCon setSegmentedControlStyle:UISegmentedControlStyleBar];
[self.segmentedCon setWidth:85.0 forSegmentAtIndex:0];
[self.segmentedCon setWidth:85.0 forSegmentAtIndex:1];
[self.segmentedCon setFrame:[self.navigationController.toolbar bounds]];
//bar button items
UIBarButtonItem *flexibaleSpaceBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *segBarBtn = [[UIBarButtonItem alloc] initWithCustomView:self.segmentedCon];
//nsarray of tool bar items
NSArray *toolbarItems = [NSArray arrayWithObjects:flexibaleSpaceBarButton,segBarBtn,flexibaleSpaceBarButton,nil];
[self setToolbarItems:toolbarItems animated:YES];
[segBarBtn release];
Это работает. Спасибо. Я что-то пропустил, или только одна строка вызвала эту проблему для меня? '// this one' ' [self.segCon setFrame: [self.navigationController.toolbar bounds]]; ' Имеет смысл, что это растягивает сегментированный элемент управления на высоту панели инструментов, то есть устанавливает кадр self.segCon к границам панели навигации. 'setWidth: 85.0' для каждого индекса переполнял его в левую сторону. – Airuop
Вы правы! просто tht одна строка .. – chuthan20