Swiftgram/AsyncDisplayKit/Layout/ASBackgroundLayoutSpec.h
Michael Schneider 2f99951732 [Layout] Move [ASLayoutSpec children] from std::map to NSMutableArray (#2253)
* Initial commit to move [ASLayoutSpec children] from std::map to NSMutableArray

* Add NSFastEnumeration to ASLayoutable

* ASNullLayoutSpec is a Singleton now

* Move ASLayoutSpecPrivate in Private folder

* Move to NSArrayPointer and remove ASNullLayoutSpec

* Revert "Move to NSArrayPointer and remove ASNullLayoutSpec"

This reverts commit 9ab9cf7024b1f6e1984d84fe58af2b84e84cdf94.

* Move to childAtIndex: and setChild:atIndex:
2016-09-27 19:41:45 -04:00

36 lines
1.1 KiB
Objective-C

//
// ASBackgroundLayoutSpec.h
// AsyncDisplayKit
//
// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
// This source code is licensed under the BSD-style license found in the
// LICENSE file in the root directory of this source tree. An additional grant
// of patent rights can be found in the PATENTS file in the same directory.
//
#import <AsyncDisplayKit/ASLayoutSpec.h>
NS_ASSUME_NONNULL_BEGIN
/**
Lays out a single layoutable child, then lays out a background layoutable instance behind it stretched to its size.
*/
@interface ASBackgroundLayoutSpec : ASLayoutSpec
/**
* Background layoutable for this layout spec
*/
@property (nullable, nonatomic, strong) id<ASLayoutable> background;
/**
* Creates and returns an ASBackgroundLayoutSpec object
*
* @param child A child that is laid out to determine the size of this spec.
* @param background A layoutable object that is laid out behind the child. If this is nil, the background is omitted.
*/
+ (instancetype)backgroundLayoutSpecWithChild:(id<ASLayoutable>)child background:(nullable id<ASLayoutable>)background;
@end
NS_ASSUME_NONNULL_END