4

このコードを使用して、UI ボタン​​をトグル ボタンにしようとしています。

- (void)tapButton:(id)sender{
    UIButton *button = sender;
    if (!button.selected){
        [self performSelector:@selector(highlight:) withObject:button afterDelay:0.0];
    }else{
        [self performSelector:@selector(removeHighlight:) withObject:button afterDelay:0.0];
    }
}

- (void)highlight:(UIButton *)button{
    button.selected = !button.selected;
    button.highlighted = YES;
}

- (void)removeHighlight:(UIButton *)button{
    button.selected = !button.selected;
    button.highlighted = NO;
}

ただし、ボタンが選択モードの場合、奇妙なアーティファクトが発生します。

選択されていない:

ここに画像の説明を入力

選択済み:

ここに画像の説明を入力

4

1 に答える 1

5

ボタンのタイプを「システム」ではなく「カスタム」にするだけです。この奇妙なバグは、iOS7 の新しい Tint 機能に関連していると思います。title プロパティが空の文字列 @"" であるため、おそらくバグです。

于 2014-03-16T18:37:42.667 に答える