Add 'submodules/AsyncDisplayKit/' from commit '02bedc12816e251ad71777f9d2578329b6d2bef6'

git-subtree-dir: submodules/AsyncDisplayKit
git-subtree-mainline: d06f423e0e
git-subtree-split: 02bedc1281
This commit is contained in:
Peter
2019-06-11 18:42:43 +01:00
2160 changed files with 232035 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
//
// ImageCellNode.swift
// Texture
//
// Copyright (c) Facebook, Inc. and its affiliates. All rights reserved.
// Changes after 4/13/2017 are: Copyright (c) Pinterest, Inc. All rights reserved.
// Licensed under Apache 2.0: http://www.apache.org/licenses/LICENSE-2.0
//
import UIKit
import AsyncDisplayKit
class ImageCellNode: ASCellNode {
let imageNode = ASImageNode()
required init(with image : UIImage) {
super.init()
imageNode.image = image
self.addSubnode(self.imageNode)
}
override func layoutSpecThatFits(_ constrainedSize: ASSizeRange) -> ASLayoutSpec {
var imageRatio: CGFloat = 0.5
if imageNode.image != nil {
imageRatio = (imageNode.image?.size.height)! / (imageNode.image?.size.width)!
}
let imagePlace = ASRatioLayoutSpec(ratio: imageRatio, child: imageNode)
let stackLayout = ASStackLayoutSpec.horizontal()
stackLayout.justifyContent = .start
stackLayout.alignItems = .start
stackLayout.style.flexShrink = 1.0
stackLayout.children = [imagePlace]
return ASInsetLayoutSpec(insets: UIEdgeInsets.zero, child: stackLayout)
}
}