0

我正在为 iPhone 应用程序在 Xcode 中编写一些代码,我希望能够检测一个方法是否已在另一个方法中运行(即按下按钮,导致该方法运行)(我想使用 if 语句因此,如果按下按钮,它将执行此操作,但如果未按下,它将执行其他操作)。

4

2 回答 2

2

没有 has_method_been_run() 函数,但您可以检查状态是否已更改。

例如说方法 button_clicked() 调用方法 change_font_to_blue()。在这种情况下,您可以检查字体是否为蓝色以及是否调用了该方法。

这当然是一个非常基本的示例,但您可以检查任意数量的变量/UI 的状态以查看它是否已更改。

或者,您可以向对象添加一个布尔值,并在执行您正在观看的方法时将其设置为 true。

于 2013-07-17T18:16:24.627 回答
0

如果您的示例只是按下按钮,我将更改 UIButton 的选定状态

- (IBAction)buttonSelected:(UIButton *)sender {
    sender.selected = YES;
    // OR:
    // self.myButton.selected = YES;
}

- (void)otherMethod {
    if (self.myButton.isSelected) {
        // button has been run through the selector method

        // if you want, reset button's selected state
        self.myButton.selected = NO;
    } else {
        // button has NOT been run through the selector method
    }
}

这是一个简单的想法,默认情况下 UIButton 的选定状态在视觉上没有什么不同。如果您希望它在视觉上进行更改,那么您可以简单地进入 IB 并更改所选状态的视觉效果(包括标题):

IB 中的按钮视觉选项

然后,当按钮设置为选中 ( self.myButton.selected = YES;) 时,它会自动更改按钮的外观!

于 2013-07-17T18:30:34.853 回答