这是主视图,我想切换两个独立的视图;打开状态和关闭状态。
代码看起来会是什么样子?

发布于 2011-10-04 17:40:10
执行以下操作
- (void)viewDidLoad //of mainViewController {
//do viewController1 alloc init // Gray Color
[self.view addSubview:viewController1.view];
//do viewController2 alloc init //Red Color
[self.view addSubview:viewController2.view];
[viewController2.view setHidden:YES];
}//assign this method to segmented controls' valueChanged event
- (IBAction)segmentControlClicked:(id)sender {
UISegmentedControl *segmentedControl = (UISegmentedControl *)sender; // if segmented control is not declared as an IBOutlet
if (segmentedControl.selectedSegmentIndex == 0) {
[viewController1.view setHidden:NO];
[viewController2.view setHidden:YES];
}
else if (segmentedControl.selectedSegmentIndex == 1) {
[viewController2.view setHidden:NO];
[viewController1.view setHidden:YES];
}
}确保'y‘原点viewController1和viewController2位于分段控件的下方,以便分段控件不会被隐藏。
发布于 2011-10-04 16:36:02
您可以在xib中获取两个视图,并在视图did加载时在主视图中添加这两个视图,并为您不想显示的视图设置隐藏属性,然后为开关控制事件设置隐藏属性TRUE或FALSE。
发布于 2011-10-04 16:42:47
请尝试以下操作
- (IBAction)segmentControlClicked:(id)sender {
if (!viewController1) {
//do alloc init
}
if (!viewController2) {
//do alloc init
}
UISegmentedControl *segmentedControl = (UISegmentedControl *)sender;
if (segmentedControl.selectedSegmentIndex == 0) {
[viewController1.view setHidden:NO];
[viewController2.view setHidden:YES];
}
else if (segmentedControl.selectedSegmentIndex == 1) {
[viewController2.view setHidden:NO];
[viewController1.view setHidden:YES];
}
}https://stackoverflow.com/questions/7645121
复制相似问题