Tag: Vingle

Vingle纹理样式指南

我们希望喜欢iOS和Texture的任何人对本指南有所帮助! 1.制作UI组件 对条件 UI组件使用惰性属性 。 否则,即使根本不使用给定的UI组件,您最终也会进行不必要的分配和计算 不要使用节点生成功能 ! 我们建议使用automaticManagesSubnodes而不是addSubnode 。 将所有UI组件属性置于Const结构中。 2. LayoutSpec // MARK:和// MARK: – #pragma mark -在Objective-C中与#pragma mark和#pragma mark -等效。 推荐使用扩展,用于layoutSpec 代码的凝聚力 和可读性。 请勿将所有代码都放在layoutSpecThatFits:上以便阅读 有意义的layoutSpec分隔。 (文章) 方法名称必须以“ LayoutSpec”结尾。 本地layoutSpec变量名称必须以“ Layout”结尾。 覆盖func layoutSpecThatFits(:)-> ASLayoutSpec { 让~~~~ layout = ~~~~ layoutSpec(:) } FlexBox属性应在layoutSpecThatFits处定义: 建议创建弹性样式的糖代码,如下面的屏幕快照所示。 3.任何与主线程视图相关的属性访问都必须在didLoad方法中处理。 4.反应式编程(* RxSwift) RxSwift社区/ Rx可可纹理 RxCocoa纹理扩展库。 通过创建一个 github.com 来为RxSwiftCommunity / […]

如何像聊天应用程序一样预先添加ASCellNode

好吧,您知道这些著名的聊天应用程序。 微信和Kakao对话。 这些具有共同的特征。 这些预附加消息的内容偏移量接近于零 。 在此之前,我只是自定义了ASBatchFetching,使预附加的提取可以像基本的附加提取一样工作。 让contentSize:CGSize = scrollView.contentSize 让viewLength = bounds.size.height 让contentLength = contentSize.height //内容较少 如果contentLength <viewLength { 切换scrollDirection { case .down:返回.prepend case .up:返回.append 默认值:return .none} } 让triggerDistance = viewLength * LeadingScreens让剩下的Distance = contentLength — viewLength —偏移量 切换scrollDirection { case .down: 返回remainingDistance <= triggerDistance吗? .append:.none 大小写: 返回偏移量<triggerDistance吗? << — @HERE .prepend:.none 默认: 返回.none } […]

纹理最佳实践2

纹理最佳实践#2 LayoutSpec 内容元布局和堆栈元素。 消息气球布局(layout진메세메세지내용)을이미지와이같가수가있고 消息气球尾巴:말풍선말풍선리 消息气球内容:말풍선 消息提示框内容。 媒体领域: 消息文本区域:메세지텍스트 Stack기으지가StackLayoutSpec으로布局기본설계가끝이난다。 2. AS Stack LayoutSpec布局子布局中的布局。 이건또이무슨말? 각,각子布局의를정리를다음과다。 媒体布局은比率은이변해야한다。 。로필은위치해야한위치해야한다。 15.0分하향해야한다。 订婚(마진은)마진은5.0pt정도가진다。 이렇게눈으로봤을이정리가것이다。 어떤과항목별과과다다다다다다다다다。 로하나씩풀어보자면 媒体布局은比率은이변해야한다。 :比率AS Ratio LayoutSpec LayoutSpec。 。로필은위치해야한위치해야한다。 : AS Relative LayoutSpec , AS Absolute LayoutSpec layoutPosition相对应。 在AS Inset LayoutSpec插入底部的.infinity로finity다。 in지만사주의.infinity로잡았는데이 레다 일으킵니다。 15.0分하향해야한다。 : AS Inset LayoutSpec .Infinity布局图。 (참고:layoutPosition타입은CGPoint입니다。) 订婚(마진은)마진은5.0pt정도가진다。 :해하셨으면이해하셨으면이거거제는겁니다。 布局布局。 。지다보면수올릴가。다。 […]