0

私は 2 つの UISegmentedControl を持っています。そのうちの 1 つを使用して、もう 1 つを有効/無効にします。これを処理する関数を次のように記述しました。

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

viewDidLoad からこの関数を呼び出すと、_segment1 の状態に関係なく、_segment2 は無効のままになります。誰かが私がここで間違っているところを指摘できますか? ありがとう。

4

2 に答える 2

1

条件をこれに変更してください-

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

あなたのお悩みを解決するお手伝いができると思います。

于 2013-07-23T07:48:05.563 に答える