如何在 iOS 9 的一个视图控制器中处理两个分段控制器?

How to handle two Segmented Controllers in one View Controller in iOS 9?

在我的应用程序中,我想在一个视图控制器中处理两个分段控制器。 到目前为止,我是这样创建的,

  1. 为分段控制器创建了两个 IBAction
  2. segment1 = 0 和 segment = 1 工作正常。
  3. 段 2 = 0 不工作。
  4. segment2 = 1 工作正常。

我的问题是当用户点击 segment2 = 0 转到另一个视图时。

这是我的一些代码。

-(IBAction)segment1:(id)sender
{
UISegmentedControl *segmentedControl = (UISegmentedControl *) sender;
NSInteger selectedSegment1 = segmentedControl.selectedSegmentIndex;

if (selectedSegment1 == 0)
{
    view2.hidden = YES;
    view1.hidden = NO;
}
else if (selectedSegment1 == 1)
{
    view2.hidden = NO;
}
}
-(IBAction)segment2:(id)sender
{
UISegmentedControl *segmentSelected2 = (UISegmentedControl *)sender;
NSUInteger selectedSegment2 = segmentSelected2.selectedSegmentIndex;
{
    if (selectedSegment2 == 0)
    {
        UIStoryboard *recent = self.storyboard;
        ViewController2 *recentVC = [recent instantiateViewControllerWithIdentifier:@"VC2"];
        [self presentViewController:recentVC animated:YES completion:nil];
    }
    else if (selectedSegment2 == 1)
    {
        UIStoryboard *story = self.storyboard;
        ViewController3 *VC = [story instantiateViewControllerWithIdentifier:@"VC3"];
        [self presentViewController:VC animated:YES completion:nil];
    }
}

}

这里似乎没什么问题。我唯一能看到的是你试图在 RecentJobs 已被选中时单击它。

尝试在您的视图中添加这行代码确实加载 <segmentControlOutletObject>.selectedSegmentIndex = -1 并尝试立即点击它。

Select故事板(属性检查器)中的分段控件,并确保控件的设置如下图所示