From 3f42fcbc7dab558a418956a750fef7d3dc135923 Mon Sep 17 00:00:00 2001 From: Hannah Troisi Date: Thu, 29 Sep 2016 21:22:23 -0700 Subject: [PATCH] check button state before changing` (#2323) --- AsyncDisplayKit/ASButtonNode.mm | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/AsyncDisplayKit/ASButtonNode.mm b/AsyncDisplayKit/ASButtonNode.mm index a0eb08de..0bcad75c 100644 --- a/AsyncDisplayKit/ASButtonNode.mm +++ b/AsyncDisplayKit/ASButtonNode.mm @@ -110,25 +110,31 @@ - (void)setEnabled:(BOOL)enabled { - [super setEnabled:enabled]; - if (enabled) { - self.accessibilityTraits = UIAccessibilityTraitButton; - } else { - self.accessibilityTraits = UIAccessibilityTraitButton | UIAccessibilityTraitNotEnabled; + if (self.enabled != enabled) { + [super setEnabled:enabled]; + if (enabled) { + self.accessibilityTraits = UIAccessibilityTraitButton; + } else { + self.accessibilityTraits = UIAccessibilityTraitButton | UIAccessibilityTraitNotEnabled; + } + [self updateButtonContent]; } - [self updateButtonContent]; } - (void)setHighlighted:(BOOL)highlighted { - [super setHighlighted:highlighted]; - [self updateButtonContent]; + if (self.highlighted != highlighted) { + [super setHighlighted:highlighted]; + [self updateButtonContent]; + } } - (void)setSelected:(BOOL)selected { - [super setSelected:selected]; - [self updateButtonContent]; + if (self.selected != selected) { + [super setSelected:selected]; + [self updateButtonContent]; + } } - (void)updateButtonContent