我只想知道如何在按钮标题更改时触发某些功能? 我尝试使用此命令但没有任何效果:
[button addTarget:self
action:@selector(function:)
forControl:UIControlEventValueChange];
最佳答案
你可以在你的 viewcontroller 中使用一个观察者,它有一个按钮的导出:
首先添加观察者(以viewDidLoad为例)
[self.button addObserver:self forKeyPath:@"titleLabel.text" options:NSKeyValueObservingOptionNew context:NULL];
覆盖 View Controller 上的默认观察者方法
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { if ([keyPath isEqualToString:@"titleLabel.text"]) { // Value changed UIButton *button = object; NSString *title = button.titleLabel.text; } }
在 dealloc 函数中移除自己作为观察者
[self.button removeObserver:self forKeyPath:@"titleLabel.text"];
关于ios - 如何知道 UIButton titlerable.text 是否改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22295315/