如何让 UITableViewCell 中的 imageView 大小固定
Posted jgCho
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让 UITableViewCell 中的 imageView 大小固定相关的知识,希望对你有一定的参考价值。
UITableView
可以算是使用频率最高的组件之一的,在开发过程中经常需要展示一些简单的信息列表
如图,很多页面其实就是这种展示结果,通常需要imageView
,textLabel
,detailTextlabel
,而UITableViewCell
本身提供了方便的自动布局(当有图片和没图片时,textLabel和detailLabel的位置会左右自动调整). 但是图片的大小却是没有办法固定的(直接设置imageView.frame
是无法固定imageView
的大小的),那么一般来说解决这个问题的办法有两种:
- 固定显示图片的大小(包括PlaceHolder)
- 自定义tableViewCell,添加自定义的
imageView
,textLabel
和detailTextLabel
这两种方式都可以解决这个问题,但是这两种方式其实都挺麻烦的,能否直接固定imageView的大小呢? 方法是有的,只需要重载layoutSubviews
即可
派生UITableViewCell
1
|
|
这样,我们只要使用MMCell
就可以固定imageView
的大小了,且大小为PlaceHolder.png
的大小(一般来说这种页面都会使用一个PlaceHolder.png
来显示默认图片).
原理是在UItableVeiw
的layoutSubviews
调用时,会根据imageView.image
的大小来调整imageView
,textLabel
,detailTextLabel
的位置,在此之前我们先将imageView.image
设置为PlaceHolder.png
图片,等待重新布局完后再将原本的图片设置回去就可以了
以上是关于如何让 UITableViewCell 中的 imageView 大小固定的主要内容,如果未能解决你的问题,请参考以下文章
如何在自定义 UITableViewCell 中增加 Label 的高度
如何在 swift 中使自定义 UITableViewCell 中的链接可点击
调整 UILabel 的大小以适应自定义 UITableViewCell 中的文本,无论宽度如何