【问题标题】:Turn a button on from another button in objective C从目标 C 中的另一个按钮打开一个按钮
【发布时间】:2013-08-29 22:00:35
【问题描述】:

我将如何从第二个按钮重新打开第一个按钮[self firstButton:sender.enabled = Yes]; 只能将其关闭。编译器给了我一个关于以这种方式关闭按钮的警告。因此,如果有更好的方法可以从第二个按钮将其关闭,请告诉我如何打开和关闭它..

-(IBAction)firstButton:(UIButton *)sender{
if(firstButton is clicked){
//Turn firstButton off
((UIButton *)sender).enabled = NO;
}
}

-(IBAction)secondButton:(UIButton *)sender{
if(secondButton is clicked)
{
//Turn firstButton BACK ON?
[self firstButton:sender.enabled = Yes];
}
}

谢谢!!

【问题讨论】:

  • 您应该创建指向按钮的引用指针...
  • 你会如何处理@holex?
  • 所以这对我来说都是全新的,我是从 java 过来的。如何将标签引用设置为 *firstButton @0x7fffffff?我似乎无法弄清楚如何使用 *otherButton 中的标签并关闭 *firstButton。
  • @Petahwil,据我所知,Joel 对你有一个很好的建议。

标签: iphone ios objective-c xcode uibutton


【解决方案1】:

您可以使用IBOutlet为每个按钮设置 ivars

IBOutlet UIButton *firstButton, *secondButton;

然后将它们链接到 Interface Builder 中的正确按钮。

然后您可以使用这些 IBAction 来完成您正在寻找的内容。

-(IBAction)firstButtonClicked:(id)sender
{
    [firstButton setEnabled:NO];
}

-(IBAction)secondButtonClicked:(id)sender
{
    [firstButton setEnabled:YES];
}

【讨论】:

【解决方案2】:

您是否尝试从每个按钮切换另一个按钮的状态?如果是这样,这应该会有所帮助。首先使用 viewWithTag: 来获取对另一个按钮的引用。这将要求您正确地将每个按钮的标签属性分配给下面指定的相同标签。然后,您可以简单地将按钮启用状态设置为!它当前的启用状态。这将切换它。开到关,关到开。

-(IBAction)firstButton:(UIButton *)sender
{
    UIButton *otherButton = (UIButton *)[self.view viewWithTag:33];
    [otherButton setEnabled:!otherButton.enabled];
}

-(IBAction)secondButton:(UIButton *)sender
{
    UIButton *otherButton = (UIButton *)[self.view viewWithTag:44];
    [otherButton setEnabled:!otherButton.enabled];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-01
    • 2012-10-23
    • 1970-01-01
    • 2020-02-20
    • 2012-03-03
    • 2016-03-10
    • 1970-01-01
    相关资源
    最近更新 更多