isEnabledForSegmentAtIndex

isEnabledForSegmentAtIndex

我有两个UISegmentedControl,我想使用其中一个启用/禁用另一个。我编写了一个函数来处理此问题,如下所示:

   - (void)disableSegment2 {
    if ([_segment1 isEnabledForSegmentAtIndex:0] && [_segment1 isEnabledForSegmentAtIndex:2]) {
        _segment2.userInteractionEnabled = NO;
    } else if ([_segment1 isEnabledForSegmentAtIndex:1]) {
        _segment2.userInteractionEnabled = YES;
    }
}


当我从viewDidLoad调用此函数时,无论_segment1处于何种状态,_segment2均保持禁用状态。有人可以指出我在哪里出问题了吗?
谢谢。

最佳答案

请更改条件为

  - (void)disableSegment2 {
        if ([_segment1 isEnabledForSegmentAtIndex:0] && [_segment1 isEnabledForSegmentAtIndex:2]) {
            _segment2.userInteractionEnabled = NO;
        }
 else if (![_segment1 isEnabledForSegmentAtIndex:0] || ![_segment1 isEnabledForSegmentAtIndex:2]) {
            _segment2.userInteractionEnabled = YES;
        }
    }


我认为这将帮助您解决问题。

关于ios - 根据另一个UISegmentedControl的条件禁用UISegmentedControl,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17791980/

10-09 01:03