我制作了一个 iPhone 应用程序,它使用分段控件在显示不同信息的 2 个 View Controller 之间切换。因此,我在第一个 View Controller 中定义了一个分段控件,我在 IB 中将其链接到我放置在相应 View 上的分段控件。
@interface FirstViewController : UIViewController{
//NSArray * viewControllers;
//UINavigationController * navigationController;
IBOutlet UISegmentedControl *segment; //->segment linked in the nib of FirstViewController
}
分段控件相关的 Action 如下:
-(IBAction)valuechanged:(id)sender{
NSInteger index = [(UISegmentedControl *)sender selectedSegmentIndex];
UIViewController *parking=[[ParkingViewController alloc]
initWithNibName:@"ParkingViewController" bundle:nil] ;
viewControllers= [NSArray arrayWithObjects:self,parking,nil];
if(index==1){
UIViewController * incomingViewController = [viewControllers objectAtIndex:index];
[self presentModalViewController:incomingViewController animated:YES];
}
}
在此 Action 中,我定义了用户单击分段控件后要执行的操作。在这里,它正在加载一个名为 ParkingViewController 的新 viewController。问题是,一旦加载了新的 ParkingViewController,segmentedControl 就会消失,所以我无法返回到 firstViewController。
我不知道如何为两个 View 保留 segmentedControl?
谢谢大家
昆汀
最佳答案
通常,UITabBarController 用于控制两个或多个 View Controller 之间的切换。它将保留在屏幕上并允许来回切换。
当您呈现模态视图时,您拥有的分段 Controller 不能停留在屏幕上。模态视图将占据整个屏幕。此外,因为您正在将它动画化到屏幕上,所以新 View 中的分段 View Controller 的副本将不会显示为相同的分段控件,因为用户看到它滚动到屏幕上。
关于iphone - 使用分段控件在 2 个 View 之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9399807/