我的应用程序中有一个UISegmentControl,我试图让它像应用程序商店一样切换视图。我试过这段代码没有运气:
- (IBAction)segmentSwitch:(id)sender {
UISegmentedControl *segmentedControl = (UISegmentedControl *) sender;
NSInteger selectedSegment = segmentedControl.selectedSegmentIndex;
if (selectedSegment == 0) {
//toggle the correct view to be visible
[firstView setHidden:NO];
[secondView setHidden:YES];
}
else{
//toggle the correct view to be visible
[firstView setHidden:YES];
[secondView setHidden:NO];
}
}
有人知道如何切换视图吗?任何帮助表示赞赏。感谢
答案 0 :(得分:1)
只要两个视图都是可见父视图(或窗口)的子视图,该代码就会起作用。
此外,您可以简化您的IBAction:
- (IBAction)segmentSwitch:(UISegmentedControl*)segmentedControl {
//UISegmentedControl *segmentedControl = (UISegmentedControl *) sender;
NSInteger selectedSegment = segmentedControl.selectedSegmentIndex;
答案 1 :(得分:0)
当执行此代码以及起点是什么时,知道发生会发生什么事情会有所帮助 - firstView已经可见,并且在代码运行时是否有任何影响?
如果firstView可见但代码永远不会隐藏它,我怀疑“firstView”变量实际上并未连接到视图。你告诉firstView隐藏,所以如果视图永远不会隐藏,“firstView”可能是零。在此方法中设置断点并检查firstView和secondView,以确保它们引用了您想要操作的视图。