Node
Node Containers
ASCollectionNode类似UIKit中的UICollectionViewASPagerNode类似UIKit中的UIPageViewControllerASTableNode类似UIKit中的UITableViewASViewController类似UIKit中的UIViewControllerASNavigationController类似UIKit中的UINavigationController,遵循了ASVisibility协议ASTabBarController类似UIKit中UITabBarController遵循了ASVisibility协议
节点容器作用:
节点容器自动福安里其子节点实现智能预加载,这意味着节点所有布局计算、数据读取,解码和渲染都将会异步完成,这也是为什么建议将节点放到节点容器中使用的原因。
而容器外的node只会在屏幕出现时才开始渲染,类似UIKit的做法,这会导致性能下降和内容闪烁。
Node Subclasses
使用node代替UIKit组件的一个关键优势就是 所有的节点都在主线程之外布局和显示,以便主线程可以立即响应用户事件
ASDisplayNode 替代UIView ,其为根node,其它node均继承自其
ASCellNode 替代 UITalbeViewCell和UICollectionCell。其被用于ASTableNode、ASCollectionNode、ASPageNode
ASScrollNode 替代 UIScrollView 此node用于创建包含其他节点的自定义可滚动区域
ASEditableTextNode 替代 UITextView
ASTextNode 替代 UILabel
ASImageNode、 ASNetworkImageNode、 ASMultiplexImageNode 替代 UIImageView
ASVideoNode 替代 AVPlayerLayer
ASVideoPlayerNode 替代 UIMoviePlayer
ASControlNode 替代 UIControl
ASButtonNode 替代 UIButton
ASMapNode 替代 MKMapView
Texture的node相比UIKit的组件通常提供了更加便利的功能。例如,ASNetworkImageNode执行自动加载和缓存管理,甚至支持渐进式jpeg和GIF动画
Node继承关系
