我有两个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/