如何在不影响任何其他组件的情况下禁用按钮?

时间:2011-05-23 14:23:38

标签: iphone objective-c uibutton

嘿,我试图在单击后禁用我的按钮。这个按钮的作用是,它应该在单击后显示滑块然后它应该被禁用以避免进一步显示滑块。 我有圆顶是我已经为按钮分配了一个标签,并在buttoncliked方法中访问它并执行button.enabled = NO;。但它的作用是使滑块也被禁用。

有什么建议吗?

int tag = [sender tag]- kselectTag;
    UIImage * buttonImage = [UIImage imageNamed:@"scenariosButtonsSmallTap1.png"];
    UIImage * strechableButtonImage = [buttonImage stretchableImageWithLeftCapWidth:12 topCapHeight:0];
    [_select setBackgroundImage:strechableButtonImage forState:UIControlStateNormal];
    NSDictionary * step = [[_currentDict objectForKey:[[_currentDict objectForKey:@"Selectable"]objectForKey:@"Step1"]]retain];
    NSString * frameS = [step objectForKey:@"FrameS"];
    CGRect frame1 = CGRectFromString(frameS);
    NSString * frameString = NSStringFromCGRect(frame1);

    NSString * frameB = [step objectForKey:@"FrameB"];
    CGRect frame2 = CGRectFromString(frameB);
    NSString * frameString1 = NSStringFromCGRect(frame2);
    NSNumber * place = [step objectForKey:@"placeP"];
    int p = [place intValue];
    NSString * boxImage = [step objectForKey:@"BoxImage"];
    NSString * min = [step objectForKey:@"IntLabel"];
    NSString * max = [step objectForKey:@"LstLabel"];
    int mn = [min intValue];
    int mx =[max intValue];
    //UIImageView * back2 = (UIImageView*)[bubble2 viewWithTag:151187];
    _select = (UIButton*)[_select viewWithTag:tag];
    [_select setUserInteractionEnabled:NO];
    [self addSliderBox:[UIImage imageNamed:boxImage] andFrame:frameString1];
    [self addSliderX:frameString andminimumValue:mn andmaximumValue:mx andSliderValue:p];

1 个答案:

答案 0 :(得分:2)

尝试button.userInteractionEnabled = NO;

编辑:

UIButton *btn = (UIButton*)[_select viewWithTag:tag];
NSLog(@"%@", btn); // Check if btn is really your `UIButton`, if not check your `tag`
[btn setUserInteractionEnabled:NO];