From a1ffa499cb6a865d7e557c112a7c231768b923fb Mon Sep 17 00:00:00 2001 From: Adlai Holler Date: Mon, 21 Sep 2015 00:15:03 -0700 Subject: [PATCH 1/3] Assert against the user trying to set isLayerBacked on ASEditableTextNode --- AsyncDisplayKit/ASEditableTextNode.h | 2 +- AsyncDisplayKit/ASEditableTextNode.mm | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/AsyncDisplayKit/ASEditableTextNode.h b/AsyncDisplayKit/ASEditableTextNode.h index e343b4b420..62b9f51251 100644 --- a/AsyncDisplayKit/ASEditableTextNode.h +++ b/AsyncDisplayKit/ASEditableTextNode.h @@ -11,7 +11,7 @@ @protocol ASEditableTextNodeDelegate; -/// @abstract ASEditableTextNode implements a node that supports text editing. +/// @abstract ASEditableTextNode implements a view-backed node that supports text editing. @interface ASEditableTextNode : ASDisplayNode // @abstract The text node's delegate, which must conform to the protocol. diff --git a/AsyncDisplayKit/ASEditableTextNode.mm b/AsyncDisplayKit/ASEditableTextNode.mm index bd04062b29..c5b90f397d 100644 --- a/AsyncDisplayKit/ASEditableTextNode.mm +++ b/AsyncDisplayKit/ASEditableTextNode.mm @@ -188,6 +188,11 @@ _placeholderTextKitComponents.textView.opaque = opaque; } +- (void)setLayerBacked:(BOOL)layerBacked { + ASDisplayNodeAssert(!layerBacked, @"Cannot set isLayerBacked to YES on ASEditableTextNode – all instances are view-backed."); + [super setLayerBacked:layerBacked]; +} + #pragma mark - Configuration @synthesize delegate = _delegate; From e9f463da73fb0b43a275817f15e0168961c378a9 Mon Sep 17 00:00:00 2001 From: Adlai Holler Date: Mon, 21 Sep 2015 00:16:02 -0700 Subject: [PATCH 2/3] Use the right name --- AsyncDisplayKit/ASEditableTextNode.mm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AsyncDisplayKit/ASEditableTextNode.mm b/AsyncDisplayKit/ASEditableTextNode.mm index c5b90f397d..d253debbc7 100644 --- a/AsyncDisplayKit/ASEditableTextNode.mm +++ b/AsyncDisplayKit/ASEditableTextNode.mm @@ -189,7 +189,7 @@ } - (void)setLayerBacked:(BOOL)layerBacked { - ASDisplayNodeAssert(!layerBacked, @"Cannot set isLayerBacked to YES on ASEditableTextNode – all instances are view-backed."); + ASDisplayNodeAssert(!layerBacked, @"Cannot set layerBacked to YES on ASEditableTextNode – all instances are view-backed."); [super setLayerBacked:layerBacked]; } From 20c74229a9bef73c5450047f837c7b7bf597c572 Mon Sep 17 00:00:00 2001 From: Adlai Holler Date: Tue, 22 Sep 2015 13:16:59 -0700 Subject: [PATCH 3/3] Updates from PR --- AsyncDisplayKit/ASEditableTextNode.h | 5 ++++- AsyncDisplayKit/ASEditableTextNode.mm | 5 +++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/AsyncDisplayKit/ASEditableTextNode.h b/AsyncDisplayKit/ASEditableTextNode.h index 62b9f51251..0581cfe638 100644 --- a/AsyncDisplayKit/ASEditableTextNode.h +++ b/AsyncDisplayKit/ASEditableTextNode.h @@ -11,7 +11,10 @@ @protocol ASEditableTextNodeDelegate; -/// @abstract ASEditableTextNode implements a view-backed node that supports text editing. +/** + @abstract Implements a node that supports text editing. + @discussion Does not support layer backing. + */ @interface ASEditableTextNode : ASDisplayNode // @abstract The text node's delegate, which must conform to the protocol. diff --git a/AsyncDisplayKit/ASEditableTextNode.mm b/AsyncDisplayKit/ASEditableTextNode.mm index d253debbc7..5e8156a86a 100644 --- a/AsyncDisplayKit/ASEditableTextNode.mm +++ b/AsyncDisplayKit/ASEditableTextNode.mm @@ -188,8 +188,9 @@ _placeholderTextKitComponents.textView.opaque = opaque; } -- (void)setLayerBacked:(BOOL)layerBacked { - ASDisplayNodeAssert(!layerBacked, @"Cannot set layerBacked to YES on ASEditableTextNode – all instances are view-backed."); +- (void)setLayerBacked:(BOOL)layerBacked +{ + ASDisplayNodeAssert(!layerBacked, @"Cannot set layerBacked to YES on ASEditableTextNode – instances must be view-backed in order to ensure touch events can be passed to the internal UITextView during editing."); [super setLayerBacked:layerBacked]; }