如何禁用部分UISegmentedControl?

Poo*_*oja 50 iphone uisegmentedcontrol ios

以下是代码 UISegmentedControl

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects: [UIImage imageNamed:@"down.png"], [UIImage imageNamed:@"dList.png"], nil]];  

[segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];  
segmentedControl.frame = CGRectMake(0, 0, 90, 65);  
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;  
segmentedControl.momentary = YES;  

UIBarButtonItem *segmentBarItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];  

[segmentedControl release];  

self.navigationItem.rightBarButtonItem = segmentBarItem;  

[segmentBarItem release];    
Run Code Online (Sandbox Code Playgroud)

- (void)segmentAction:(id)sender{
    if([sender selectedSegmentIndex] == 0)
    {
        button.hidden=NO;
    }
    else
    {
        [self dListMethod ];
    }
}
Run Code Online (Sandbox Code Playgroud)

在if()部分我想禁用selectedSegmentIndex==0并启用whenbutton.hidden=YES

Dee*_*olu 145

使用setEnabled:forSegmentAtIndex:方法启用和禁用段.

[segmentedControl setEnabled:NO forSegmentAtIndex:0];
Run Code Online (Sandbox Code Playgroud)

如果要禁用第一个段.


Vic*_*ius 19

对于那些对swift命令感兴趣的人:

斯威夫特2.3

segmentedControl.setEnabled(false , forSegmentAtIndex: 0);
Run Code Online (Sandbox Code Playgroud)

斯威夫特3

self.segmentedControl.setEnabled(false, forSegmentAt: 0);
Run Code Online (Sandbox Code Playgroud)