Я хочу использовать этот сегментированный элемент управления для отображения некоторой информации, но мне было трудно это сделать. Вот мой код:UiSegmentedControler меняет вид
@synthesize segmentedControl;
- (void)viewDidLoad {
[super viewDidLoad];
NSArray *itemArray = [NSArray arrayWithObjects: @"Player 1", @"Player 2", nil];
segmentedControl = [[UISegmentedControl alloc] initWithItems:itemArray];
segmentedControl.frame = CGRectMake(12, 100, 350, 30);
[segmentedControl addTarget:self action:@selector(segmentAction) forControlEvents: UIControlEventValueChanged];
segmentedControl.selectedSegmentIndex = 0;
[self.view addSubview:segmentedControl];
}
-(void) segmentAction {
if (segmentedControl.selectedSegmentIndex == 0) {
self.view.backgroundColor = [UIColor greenColor];
}
if (segmentedControl.selectedSegmentIndex == 1) {
self.view.backgroundColor = [UIColor blueColor];
}
}
Когда я запускаю этот код, вид только меняет цвет после того, как я нажал второй сегмент. Я хочу видеть зеленый на первом контроллере представления, не имея возможности щелкнуть второй контроллер представления. Я считаю, что он должен что-то сделать с UIControlEventChanged. Как я могу сделать это, чтобы он работал так, как я хочу?
Вы можете попробовать переместить свой код в viewdidappear? –
@ Mr.T Это не сработало – av993