我正在为 iPhone 应用程序在 Xcode 中编写一些代码,我希望能够检测一个方法是否已在另一个方法中运行(即按下按钮,导致该方法运行)(我想使用 if 语句因此,如果按下按钮,它将执行此操作,但如果未按下,它将执行其他操作)。
问问题
238 次
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 并更改所选状态的视觉效果(包括标题):
然后,当按钮设置为选中 ( self.myButton.selected = YES;
) 时,它会自动更改按钮的外观!
于 2013-07-17T18:30:34.853 回答