【问题标题】:Hiding multiple buttons with one button click Objective C一键隐藏多个按钮Objective C
【发布时间】:2015-04-28 20:24:12
【问题描述】:

当我按下 ViewController 上的一个按钮时,我试图隐藏两个按钮。我似乎只能隐藏我单击但使用[sender setHidden:YES]; 的按钮。我拥有的按钮:

- (IBAction)Button1:(UIButton*)sender;

- (IBAction)Button2:(UIButton*)sender;

我似乎无法在 Button1 中使用 Button2.hidden = YES。有没有办法解决这个问题?

【问题讨论】:

  • 获取UIButton的全局变量并将它们隐藏在选择器中

标签: ios objective-c xcode uibutton ibaction


【解决方案1】:

您应该在 viewController 中创建按钮属性,并使用它来隐藏按钮:

@interface ViewController ()

  @property (nonatomic, strong) IBOutlet UIButton* button1;
  @property (nonatomic, strong) IBOutlet UIButton* button2;

- (IBAction)action1:(id)sender;
- (IBAction)action2:(id)sender;

@end

在行动中:

- (void)setButtonsHidden:(BOOL)hidden
{
   _button1.hidden = hidden;
   _button2.hidden = hidden;
}

#pragma mark Actions
- (IBAction)action1:(id)sender
{
    [self setButtonsHidden:YES];
}

- (IBAction)action2:(id)sender
{
   [self setButtonsHidden:YES];
}

您也可以使用 NSArray 来存储所有按钮引用:

@interface ViewController ()

   @property (nonatomic, strong) IBOutletCollection(UIButton) NSArray* allButtons;
   <.....>

在 setButtonsHidden: 方法中:

- (void)setButtonsHidden:(BOOL)hidden
{
    [_allButtons enumerateObjectsUsingBlock:^(UIButton* obj, NSUInteger idx, BOOL *stop) {
    obj.hidden = hidden;
    }];
 }

【讨论】:

    【解决方案2】:

    Viewcontroller.h

    @property (weak, nonatomic) IBOutlet UIButton *button1;
    @property (weak, nonatomic) IBOutlet UIButton *button2;
    - (IBAction)button1:(UIButton *)sender;
    - (IBAction)button2:(UIButton *)sender;
    

    Viewcontroller.m

    - (IBAction)button1:(UIButton *)sender
    {
        _button1.hidden = YES;
        _button2.hidden = YES;
    }
    
    - (IBAction)button2:(UIButton *)sender
    {
        _button1.hidden = YES;
        _button2.hidden = YES;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-27
      • 2011-09-04
      • 1970-01-01
      • 1970-01-01
      • 2017-01-31
      • 2011-07-30
      相关资源
      最近更新 更多