【发布时间】:2011-10-04 08:29:05
【问题描述】:
这是主视图,我想切换两个单独的视图;用于 ON 状态和 OFF 状态。
代码会是什么样子?
【问题讨论】:
标签: iphone uiview ios4 uisegmentedcontrol uiswitch
这是主视图,我想切换两个单独的视图;用于 ON 状态和 OFF 状态。
代码会是什么样子?
【问题讨论】:
标签: iphone uiview ios4 uisegmentedcontrol uiswitch
执行以下操作
- (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 在 Segmented Control 的下方,这样分段控件就不会被隐藏。
【讨论】:
您可以在 xib 中获取两个视图,并在视图加载时在主视图中添加两个视图,并为您不想显示的一个设置隐藏属性,然后为开关控制事件设置隐藏属性 TRUE 或 FALSE关闭。
【讨论】:
试试下面的
- (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];
}
}
【讨论】: