当我按下ViewController上的一个按钮时,我试图隐藏两个按钮。我似乎只能隐藏我点击的按钮,但使用[sender setHidden:YES];
。我有的按钮:
- (IBAction)Button1:(UIButton*)sender;
- (IBAction)Button2:(UIButton*)sender;
我似乎无法在Button1中使用Button2.hidden = YES
。有没有办法解决这个问题?
答案 0 :(得分:2)
您应该在viewController中创建button属性,并使用它来隐藏按钮:
@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;
}];
}
答案 1 :(得分:1)
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;
}