作家
登录

iOS中关于列表滚动流畅的一些探讨

作者: 来源: 2017-09-11 10:00:56 阅读 我要评论

  •     title.ignoreCommonProperties = YES; //忽视属性 
  •     title.layer.borderColor = [UIColor brownColor].CGColor; 
  •     title.layer.cornerRadius = 1.f; 
  •     title.layer.borderWidth = 1.f; 
  •     [self.contentView addSubview:_titleLabel = title]; 
  •    
  •     return self; 
  • 行高取值:

    赋值:

    1. - (void)setModel:(FrameYYModel *)model { 
    2.     if (!model) return
    3.     _model = model; 
    4.      
    5.     self.titleLabel.frame = model.titleFrame; 
    6.     self.titleLabel.textLayout = model.titleLayout; //直接取 YYTextLayout 

    Auto Layout 搭配异步衬着

    YYText 异常友爱,同样支撑 xib,YYText 持续自 UIView ,正常的在 xib 中设备束缚就行了,须要留意的一点是,多行文本的情况下须要设置最大年夜换行宽:

    1. CGFloat maxLayout = [UIScreen mainScreen].bounds.size.width - 20.f; 
    2. self.titleLabel.preferredMaxLayoutWidth = maxLayout; 
    3. self.subTitleLabel.preferredMaxLayoutWidth = maxLayout; 
    4. self.contentLabel.preferredMaxLayoutWidth = maxLayout; 

    比较膳绫擎 frame,可以发明多了个 YYTextLayout 属性,这个属性可以提前设备文本的特点,包含 font 、 textColor 以及行数、行间距、内间距等等,好处就是可以把一些逻辑提前处理好,比如根据接口字段,动态设备字体色彩,字号等,如不雅用 Auto Layout,这部分逻辑则弗成避免的须要写在 cellForRowAtIndexPath: 办法中。

    优缺点

    YYText 的异步衬着能极大年夜程度的进步列表流畅度,真正达到如丝般顺滑,然则在开启异步时,刷新列表会有闪烁情况,不知道算不算 bug,比来也看到作者回归了,信赖这个库会越来越好,毕竟 真●大年夜神!

    其它

    列表中如不雅存在很多体系设置的圆角页面导致卡顿:

    1. label.layer.cornerRadius = 5.f; 
    2. label.clipsToBounds = YES; 

    其实据我不雅察,只要当前屏幕内只要设置圆角的控件个数不要太多(大年夜概十几个算个零界点),就不会引起卡顿。

    还有就是只要不设置 clipsToBounds 不管若干个,都不会卡顿,比如你须要圆角的控件是白色配风景的,然后它的父控件也是白色配风景的,并且没有点击后高亮的,就没须要 clipsToBounds 了。

    总结

    YYText 和 UITableView-FDTemplateLayoutCell 搭配可以很大年夜程度的进步列表流畅度,如不雅时光比较紧急,可以直接采取 Auto Layout + UITableView-FDTemplateLayoutCell + YYText 方法;如不雅列表中文本不包含富文本,仅仅显示文字,又不想惹人这两个库,可以应用体系方法提前计算 Frame;如不雅想最大年夜程度的流畅度,就须要应用 提前计算 Frame + YYText,具体大年夜家根据本身情况选择合适的方檀久煨。

    【编辑推荐】

    1. 为什么要开辟Android库?
    2. 2017年9月编程说话排行榜:Java、C与C++三巨擘还能统治排行榜多久?
    3. [交互基本]系列之移动端页面加载详解
    4. WePhone开创人自杀 称遭前妻勒索切切
    5. Android ADB开宣布用敕令总结
    【义务编辑:未丽燕 TEL:(010)68476606】

      推荐阅读

      Java 9的JDK中值得期待的:不仅是模块化

    【译者注】在本文中,作者介绍了即将在9.21宣布的Java 9新特点,除了最重要的模块化以外,还涉及到编译,对象,协定,缓存等新特点,也说起了在此次版本中移除的功能,供Java爱好者浏览和>>>详细阅读


    本文标题:iOS中关于列表滚动流畅的一些探讨

    地址:http://www.17bianji.com/lsqh/37290.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)