iphone - 使用分段控件在 2 个 View 之间切换

标签 iphone objective-c xcode uisegmentedcontrol

我制作了一个 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/

相关文章:

ios - objective-c 中大于38位数字的乘法或除法

android - 我们是否有任何机制来跟踪应用程序是否是从给定 URL 安装的?

iphone - 在模拟器中正常,但在 ios 设备中抛出异常

iphone - iOS iVar 命名为 "Size"语法错误?

iphone - cocoa 的选择性采伐

iphone - 无法使用管理器将应用程序提交到iTunes Connect

ios - 圆角图像

iphone - UITableViewCell 的自定义移动附件

ios - 提交到 App Store 时 xcode 出现错误 ITMS-90032

ios - Swift - 如何在两个 subview Controller 之间切换