当前位置: 首页 > news >正文

金华网站建设方案开发/西安整站优化

金华网站建设方案开发,西安整站优化,官方商城,wordpress浏览器跳转在iOS8中,苹果给出了一个激动人心的特性,UITableView 的 Self Sizing Cells。对于开发者来说,这是一个很值得一试的特性,在iOS8以前,如果需要在UITableViewCell中展示动态的内容,必须每次计算内容所占高度&…

在iOS8中,苹果给出了一个激动人心的特性,UITableView 的 Self Sizing Cells。对于开发者来说,这是一个很值得一试的特性,在iOS8以前,如果需要在UITableViewCell中展示动态的内容,必须每次计算内容所占高度,然后赋值给UITableView的height。

iOS8中如何使用此特性呢?基本有三步:

  • 针对自定义Cell进行Layout Constraints设置
  • 设置estimatedRowHeight
  • 这是UITableView的RowHeight为UITableViewAutomaticDimension

后两部的代码类似这样:

tableView.estimatedRowHeight = 68.0 

tableView.rowHeight = UITableViewAutomaticDimension


只有两行代码,你的UITableView就会根据内容动态展示了。这种自我调整单元的特征应为您节省代码和时间。你会爱上它。

self-sizing-cell-featured

Building a Simple Demo Using Self Sizing Cell

没有比使用一个特性更好的学习它的方法了。这里将会使用一个项目模板来学习self sizing cell。自定义cell上有两个label,分别用来展示名称和地址。你可以下载模板应用模板,来进行后面的学习,在模板中没有做任何的Constraints设置等。运行项目后如下所示:

table-view-truncated-text

可以看到,这个UITableViewCell 并没有更具内容动态改变高度,我们希望达到的目标就是名称和地址都可以完全的显示,Cell可以根据内容动态的改变。

Adding Auto Layout Constraints

在iOS8以前,如果要动态改变高度,需要考虑字体,行数等等一些因素,而且还不一定准确,但是在iOS8中,这些因素都可以不用考虑,动态特性会帮你做很多事情。

打开项目工程后,在IB中可以看到有一个UITableViewController,选择UITableVIew中的Name Label。设置其Constraints属性:

self-sizing-cell-auto-layout-1

再次选择Address Label 设置:

self-sizing-cell-auto-layout-2

完成后,如果无误,查看IB中控件:
self-sizing-cell-constraint-1
self-sizing-cell-constraint-2

Setting Estimated Row Height

针对AutoLayout的设置,需要在ViewDidLoad方法中,设置UITableView属性:

1 2
 tableView.estimatedRowHeight = 68.0  tableView.rowHeight = UITableViewAutomaticDimension 

如果此时运行,会发现Name Label 和 Address Label还是没自适应。原因是两个Label的Lines还是默认的1导致的,回到IB中,分别设置Name Label 和Address Label 的line属性为0:

self-sizing-numofline

再次运行,cell的高度已经可以根据内容来动态改变高度了。
self-sizing-cell-demo.

A Bug?!

不知道是不是Bug,在应用第一次运行的时候,有些Cell并没有自动适应其内容,解决的办法就是刷新tableView:

1 2 3 4 5
 override func viewDidAppear(animated: Bool) {   tableView.reloadData()   } 

Dynamic Type

接着验证一下Self Sizing 特性,到系统设置中改变文字字体大小,然后回到应用中查看:

如果正常,你会发现UITableView的内容也跟着有变化,并且cell的高度也会随着内容变化的:

Summary

iOS8中还有很多待使用的特性,这些特性的目的就是让开发应用更加的方便快捷。往往仅需要几行代码就能实现一些iOS8以前需要大量代码的效果等。这对此介绍,完整的Demo可以点击下载:Demo下载

声明:本文内容源自AppCoda,有很多地方有自己的元素,敬请谅解。水平有限,还望勿拍砖!

转载于:https://my.oschina.net/hejunbinlan/blog/470265

http://www.jmfq.cn/news/4908763.html

相关文章:

  • 怎么生成网站源代码/影视剪辑培训机构排名
  • 百合网 网站 开发/seo站长网怎么下载
  • 汉鼎网站建设/网络营销推广的特点
  • 永川建网站/慈溪seo排名
  • 做网站 语言/经典营销案例
  • 宁波高端网站建设/电商网站建设步骤
  • 数据调查的权威网站/抖音推广合作方式
  • 汉寿做网站的公司/注册网站免费注册
  • 开发公司网站建设/百度人工服务热线电话
  • 做网站哪里好/百度广告屏蔽
  • 自己动手做网站教程/十大互联网平台
  • 有没有做鸭子的网站/图片优化
  • 做外贸哪个网站好/国家新闻最新消息今天
  • 公司做网站需要准备什么材料/微信朋友圈广告在哪里做
  • 郑州网站建设 云极/seo优缺点
  • 新乡网站建设哪家正规/杭州seo排名收费
  • 网站模板如何使用/搜狗网站提交入口
  • 牌具做网站/百度怎么推广网站
  • 做电影网站只放链接算侵权吗/怎样把广告放到百度
  • 合肥网站开发公司电话/写软文的app
  • 网站上传后没有后台/搜索引擎seo优化
  • 网站设计与管理的软件/seo基本步骤
  • 嘉兴模板建站定制网站/网站制作模板
  • b站推出的短视频app哪个好/网站seo优化公司
  • 苏州seo优化公司/网络优化seo薪酬
  • 网站分类 维护/广州最新消息
  • 网站建设模板推广/bt种子磁力搜索引擎
  • 长沙市住房和城乡建设委员会门户网站/关键词排名优化报价
  • 宁夏网站建设优化/竞价托管外包费用
  • 上海建网站开发公/营销型网站建设案例