iPhone uisegmentedcontrol视图重叠

时间:2011-11-23 09:00:43

标签: iphone uisegmentedcontrol

我使用UISegmentControl'SegA','SegB'和'SegC'来观察视图

每个细分具有不同的视图,其中包含以编程方式添加的标签和文本字段。

每当我从SegA切换到SegB时,SegA的视图与SegB的视图重叠

1 个答案:

答案 0 :(得分:0)

例如你有3个视图,分别有3个段控件,你需要在主视图Controller上添加这些视图作为子视图,并通过代码为它们设置框架,或者使用Interface Builder在ViewController上添加它们。

// 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类的实例。