objective-c隐藏圆形矩形按钮

时间:2010-11-20 18:23:18

标签: objective-c uibutton

我的视图中有三个按钮,名为btn_easy,btn_medium,btn_hard。当我点击其中一个按钮时,我想要隐藏所有这三个按钮:我的.h文件的出口和方法定义如下:

    IBOutlet UIButton  *btn_easy;
    IBOutlet UIButton  *btn_medium;
    IBOutlet UIButton  *btn_hard;
    @property(nonatomic,retain) IBOutlet UIButton  *btn_easy;
    @property(nonatomic,retain) IBOutlet UIButton  *btn_medium;
    @property(nonatomic,retain) IBOutlet UIButton  *btn_hard;

    -(IBAction)buttonPressed:(id)sender;

在我的.h文件中定义这些IBOutlets之后,我打开Interface Builder,从每个按钮的“触摸内部”参考插座到“文件所有者”创建连接插座。我的.m文件有以下综合:

  @synthesize btn_easy,btn_medium,btn_hard;

我也在我的.m文件中尝试了以下方法:

-(IBAction)buttonPressed:(id)sender{
  UIButton *button = (UIButton*)sender;
  if([button.titleLabel.text isEqualToString:@"easy"]){
      NSLog(@"easy clicked");
  }
  if([button.titleLabel.text isEqualToString:@"medium"]){
      NSLog(@"medium clicked");
  }
  if([button.titleLabel.text isEqualToString:@"hard"]){
      NSLog(@"hard clicked");
  }
  cover_page.hidden = YES;
  btn_easy.hidden = YES;
  btn_medium.hidden = YES;
  btn_hard.hidden = YES;
  loadingCover.hidden = YES;
 }

但这些似乎都不适用于隐藏按钮。我知道该方法正确执行,但是因为我在方法中有正确执行的其他函数,只是隐藏的按钮不起作用。

2 个答案:

答案 0 :(得分:2)

您希望确保每个按钮都声明为IBOutlets,

然后在Interface Builder中确保您的IBAction连接到每个按钮,并且您的IBOutlet连接到每个相应的按钮。

不使用隐藏,而是将alpha / opacity设置为0。

应该是一个非常简单的修复,如果这不起作用,那么我想有一些其他代码与正在停止发生此事件的那些按钮接口。

答案 1 :(得分:0)

使用它!

 if([[YourButton titleForState:UIControlStateNormal] isEqualToString:@"Text"])
{

}
else {

}