当按钮离开高亮状态时调用方法[英] Call method when Button leaves Highlighted State

本文是小编为大家收集整理的关于当按钮离开高亮状态时调用方法的处理方法,想解了当按钮离开高亮状态时调用方法的问题怎么解决?当按钮离开高亮状态时调用方法问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我想在按钮突出显示时执行一个操作,并在它离开突出显示状态时执行另一个操作.有什么建议吗?

推荐答案

你可以使用KVO

[button addObserver:self forKeyPath:@"highlighted" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:NULL];

然后

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
    if ([@"highlighted" isEqualToString:keyPath]) {

        NSNumber *new = [change objectForKey:@"new"];
        NSNumber *old = [change objectForKey:@"old"];

        if (old && [new isEqualToNumber:old]) {
            NSLog(@"Highlight state has not changed");
        } else {
            NSLog(@"Highlight state has changed to %d", [object isHighlighted]);
        }
    }
}

您只真正关心更改,并且每次状态更改时都会调用它,例如如果您移动选择,然后用手指向下拖动到按钮外

本文地址:https://www.itbaoku.cn/post/924319.html