From d1b4e07d0ff2236b1c51fc546075d890eb16c144 Mon Sep 17 00:00:00 2001 From: Michael Schneider Date: Thu, 23 Jun 2016 14:07:34 -0700 Subject: [PATCH 1/2] Add support for 'preferredFrameSize' to ASButtonNode --- AsyncDisplayKit/ASButtonNode.mm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/AsyncDisplayKit/ASButtonNode.mm b/AsyncDisplayKit/ASButtonNode.mm index 5638e7c125..864827ae76 100644 --- a/AsyncDisplayKit/ASButtonNode.mm +++ b/AsyncDisplayKit/ASButtonNode.mm @@ -15,6 +15,7 @@ #import "ASBackgroundLayoutSpec.h" #import "ASInsetLayoutSpec.h" #import "ASDisplayNode+Beta.h" +#import "ASStaticLayoutSpec.h" @interface ASButtonNode () { @@ -491,6 +492,12 @@ spec = [ASInsetLayoutSpec insetLayoutSpecWithInsets:contentEdgeInsets child:spec]; } + if (CGSizeEqualToSize(self.preferredFrameSize, CGSizeZero) == NO) { + // Handle preferred frame size + stack.sizeRange = ASRelativeSizeRangeMakeWithExactCGSize(self.preferredFrameSize); + spec = [ASStaticLayoutSpec staticLayoutSpecWithChildren:@[stack]]; + } + if (_backgroundImageNode.image) { spec = [ASBackgroundLayoutSpec backgroundLayoutSpecWithChild:spec background:_backgroundImageNode]; From 53f22da1dc7aaf5462d8e8c616338309ad79d916 Mon Sep 17 00:00:00 2001 From: Michael Schneider Date: Thu, 23 Jun 2016 14:11:11 -0700 Subject: [PATCH 2/2] Code style improvements --- AsyncDisplayKit/ASButtonNode.mm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/AsyncDisplayKit/ASButtonNode.mm b/AsyncDisplayKit/ASButtonNode.mm index 864827ae76..54c30ad47e 100644 --- a/AsyncDisplayKit/ASButtonNode.mm +++ b/AsyncDisplayKit/ASButtonNode.mm @@ -493,14 +493,12 @@ } if (CGSizeEqualToSize(self.preferredFrameSize, CGSizeZero) == NO) { - // Handle preferred frame size stack.sizeRange = ASRelativeSizeRangeMakeWithExactCGSize(self.preferredFrameSize); spec = [ASStaticLayoutSpec staticLayoutSpecWithChildren:@[stack]]; } if (_backgroundImageNode.image) { - spec = [ASBackgroundLayoutSpec backgroundLayoutSpecWithChild:spec - background:_backgroundImageNode]; + spec = [ASBackgroundLayoutSpec backgroundLayoutSpecWithChild:spec background:_backgroundImageNode]; } return spec;