2013-07-14 32 views
0

当我按Btn1,Btn2启用用户交互并执行操作时,我的应用程序中有两个按钮(说Btn1Btn2)。这没有问题。当我第二次进入应用程序时,仍然按下两个按钮

现在的问题是,

我想要的按钮返回到默认状态,因为它是在启动(当我按下Btn1``Btn2为用户交互启用并执行一个动作)

任何帮助表示赞赏。

下面是代码:

- (IBAction)Btn1:(id)sender;  
{ 
    // if the Btn1 pressed enable the Btn2 
    if (...) 
    { 
     button.enabled = YES; 
    } 
} 

- (IBAction)Btn2:(id)sender; 
{ 
    if (button.enabled == YES) 
     // do any action in here  
    } 
} 
+0

首先,必须启用一个按钮才能够按下。如果你想发起'Btn2:(id)发送者动作,那么使用'performSelector'。 – Souljacker

回答

0

请在功能viewWillAppear中的默认状态。

事情是这样的:

的.h头文件

@property (nonatomic, weak) IBOutlet UIButton *button1; // connect to the button in interface builder 
@property (nonatomic, weak) IBOutlet UIButton *button2; // connect to the button in interface builder 

-(IBAction)buttonPressed:(UIButton*)button; // set this as an action for both buttons 

.m文件

-(void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated] 
    [self defaultState]; 
} 

-(IBAction)buttonPressed:(UIButton*)button; 
{ 
    if (button == self.button1) { // button 1 pressed   
     self.button2.enabled = YES; 
    } else if (button == self.button2) { // button 2 was pressed 
     [self defaultState]; // go back to default state 
    } 
} 

-(void)defaultState { // your default state of the app 
    self.button2.enabled = NO; 
    // other stuff 
} 
+0

我有一个想法,如果我让整个视图从** Btn2 **打开并按下后开始。因为我不想只是按钮被取消启用我想要按钮内的动作2.有任何代码可以帮助我使视图从** Btn2 **按下后从开始开始? –

+0

你能解释我你在做什么? –

+0

即时通讯尝试休息按钮状态像开始时,我开始应用程序 –

0

你可以添加一个便捷方法resetButtonStates到您的视图控制器,并将其称为两种方式:

  1. -(void)viewWillAppear:(BOOL)animated
  2. 每当UIApplicationDidBecomeActiveNotification由您的应用程序发布。这是因为在将应用程序放到前台时不会调用viewWillAppear:。使用NSNotifcationCenter注册此通知(请参阅文档以获取更多信息)。

resetButtonStates你应该更新按钮到适当的状态(启用/禁用/等)。

+0

如果你可以写代码,因为我迷惑小 –

相关问题