Skip to content

Instantly share code, notes, and snippets.

View wendyliga's full-sized avatar
👨‍💻
Code in Progress

Wendy Liga wendyliga

👨‍💻
Code in Progress
View GitHub Profile
@wendyliga
wendyliga / texture-uikit.csv
Created September 25, 2019 02:18
Texture Components Equivalent to UIKit Components
Texture Components UIKit Components
ASDisplayNode UIView
ASImageNode UIImageView
ASButtonNode UIButton
ASControlNode UIControl
ASCellNode UITableViewCell / UICollectionViewCell
ASScrollNode UIScrollView
ASEditableTextNode UITextView
ASTextNode UILabel
@wendyliga
wendyliga / texture-container-uikit.csv
Created September 25, 2019 02:27
Texture Container Equivalent to UIKit Side
Texture Containers UIKit Equivalent
ASCollectionNode UICollectionView
ASPagerNode UIPageViewController
ASTableNode UITableViewController
ASViewController UIViewController
@wendyliga
wendyliga / texture-tutorial.swift
Created September 25, 2019 02:44
ASWrapperLayoutSpec Example
let wrapper = ASWrapperLayoutSpec(layoutElement: self.titleNode)
return wrapper
@wendyliga
wendyliga / HeaderNode.swift
Created September 25, 2019 05:59
TextureGram Header Node
import AsyncDisplayKit
class HeaderNode: ASDisplayNode {
// MARK: - Values
private let post: Post
// MARK: - Nodes
private let profilePicture: ASImageNode
@wendyliga
wendyliga / ActionNode.swift
Created September 25, 2019 07:51
TextureGram Action Node
import AsyncDisplayKit
class ActionNode: ASDisplayNode {
// MARK: - Nodes
private let loveButton: ASImageNode
private let commentButton: ASImageNode
private let shareButton: ASImageNode
@wendyliga
wendyliga / PostCell.swift
Created September 25, 2019 08:14
TextureGram PostCell
import AsyncDisplayKit
class PostCell: ASCellNode {
let post: Post
// MARK: - Nodes
let headerNode: HeaderNode
let postImage: ASImageNode
let actionNode: ActionNode
@wendyliga
wendyliga / PostNode.swift
Created September 25, 2019 08:56
TextureGram PostNode
import AsyncDisplayKit
class PostNode: ASTableNode {
private let posts: [Post]
init(posts: [Post]) {
self.posts = posts
super.init(style: .plain)
@wendyliga
wendyliga / StoryCell.swift
Created September 25, 2019 09:04
TextureGram StoryCell
import AsyncDisplayKit
class StoryCell: ASCellNode {
private let story: Story
// MARK: - Nodes
private let userPicture: ASImageNode
private let userName: ASTextNode
init(story: Story) {
@wendyliga
wendyliga / StoryNode.swift
Created September 25, 2019 09:08
TextureGram StoryNode
import AsyncDisplayKit
class StoryNode: ASCollectionNode{
let stories: [Story]
init(stories: [Story]) {
self.stories = stories
let layout = UICollectionViewFlowLayout()
layout.scrollDirection = .horizontal
@wendyliga
wendyliga / ViewController.swift
Created September 25, 2019 09:11
TextureGram Main View Controller
import AsyncDisplayKit
class ViewController: ASViewController<ASDisplayNode> {
private let storyNode: StoryNode
private let postNode: PostNode
init() {
self.storyNode = StoryNode(stories: Story.generateDummyStory())
self.postNode = PostNode(posts: Post.generateDummyPosts())