[ASCellNode] Final revisions to behavior of setSelected: & setHighlighted:

This commit is contained in:
Hannah Trosi
2016-07-05 17:47:00 -07:00
parent 61d7c093a1
commit 3994f2089c
5 changed files with 43 additions and 34 deletions

View File

@@ -31,6 +31,7 @@
ASDisplayNodeDidLoadBlock _viewControllerDidLoadBlock;
ASDisplayNode *_viewControllerNode;
UIViewController *_viewController;
BOOL _suspendInteractionDelegate;
}
@end
@@ -182,16 +183,38 @@
{
if (_selected != selected) {
_selected = selected;
[_interactionDelegate nodeSelectedStateDidChange:self];
if (!_suspendInteractionDelegate) {
[_interactionDelegate nodeSelectedStateDidChange:self];
}
}
}
- (void)setHighlighted:(BOOL)highlighted
{
if (_highlighted != highlighted) {
_highlighted = highlighted;
_highlighted = highlighted;
if (!_suspendInteractionDelegate) {
[_interactionDelegate nodeHighlightedStateDidChange:self];
}
}
}
- (void)__setSelectedFromUIKit:(BOOL)selected;
{
if (selected != _selected) {
_suspendInteractionDelegate = YES;
self.selected = selected;
_suspendInteractionDelegate = NO;
}
}
- (void)__setHighlightedFromUIKit:(BOOL)highlighted;
{
if (highlighted != _highlighted) {
_suspendInteractionDelegate = YES;
self.highlighted = highlighted;
_suspendInteractionDelegate = NO;
}
}
- (BOOL)selected