UIButton切换功能表现得很奇怪

时间:2011-03-17 12:16:22

标签: ios uibutton toggle selected

我尝试使用UIButton制作菜单,我只想在此时只能选择一个按钮。巫婆意味着当我选择一个按钮时,它会自动取消选择另一个按钮。但它表现得很奇怪,我不明白为什么。

当我从菜单中选择一个按钮时,它变成红色,当我选择另一个按钮时,它们都是红色的,但是我必须在第一个按钮上单击2次将其变为黑色,对于第二个按钮,它是相同的。问题是,当我点击第二个按钮时,第一个应该变为黑色而不是保持红色。

使用addTarget按下按钮时会调用此函数。

    - (void)putInSelectedMode:(id)sender {
    NSLog(@"[%d] %s => %s", __LINE__, __FUNCTION__, __FILE__);
    if ([sender isKindOfClass:[UIButton class]]) {
        sender = (UIButton*)sender;
        if ([sender isSelected])
        {
            [sender setSelected:NO];
            [[sender layer] setShadowColor:[[UIColor clearColor] CGColor]];
            [[sender layer] setBorderWidth:0.0f];
        }
        else {

            UIButton *btn = nil;
            NSArray *subviews = [self subviews];

            for (btn in subviews) {
                if ([btn isKindOfClass:[UIButton class]]) {
                    [btn setSelected:NO];
                }
            }

            [[sender layer] setBorderWidth:5.0f];
            [[sender layer] setBorderColor:[[UIColor redColor] CGColor]];
            [[sender layer] setOpaque:NO];
            [sender setSelected:YES];
        }
    }
}

0 个答案:

没有答案