взгляды iPhone uisegmentcontrol перекрываются - PullRequest
0 голосов
/ 23 ноября 2011

У меня есть представление с UISegmentControl 'SegA', 'SegB' и 'SegC'

Каждый сегмент имеет различное представление с метками и текстовыми полями, которое было добавлено программно.

Всякий раз, когда я переключаюсь сОт SegA до SegB, вид SegA перекрывается с видом SegB

1 Ответ

0 голосов
/ 23 ноября 2011

Например, у вас есть 3 вида с соответствующими 3 сегментными элементами управления. Вам необходимо добавить эти виды на главном контроллере вида в качестве подпредставлений, а также задать для них фрейм с помощью кода или добавить их в ViewController с помощью Interface Builder.

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];

[self.view addSubView:view1];
[self.view addSubView:view2];
[self.view addSubView:view3];

[view1 setHidden:NO];
[view2 setHidden:YES];
[view3 setHidden:YES];

[mySegmentControl addTarget:self action:@selector(valuedChanged:) forControlEvents:UIControlEventValueChanged];
 }   

//segment value changed
-(IBAction)valuedChanged:(id)sender{

UISegmentedControl* tempSC=(UISegmentedControl *)sender;
if(tempSC.selectedSegmentIndex==0){
[view1 setHidden:NO];
[view2 setHidden:YES];
[view3 setHidden:YES];
}
else if(tempSC.selectedSegmentIndex==1){
[view1 setHidden:YES];
[view2 setHidden:NO];
[view3 setHidden:YES];
}
else if(tempSC.selectedSegmentIndex==2){
[view1 setHidden:YES];
[view2 setHidden:YES];
[view3 setHidden:NO];
}
}

при условии, что view1, view2 и view3 являются экземпляром класса UIView.

...