Cell 图片自适应问题

如何让图片撑起cell 达到图片自适应排版的效果

最常规的做法

Step1:

xib约束.png

Step2:

选择模式.png

OK 这2步看似合情合理 那下面看看运行效果

运行效果1

然后会发现这tm留白是几个意思 忍不住抱怨这个属性一点都不智能
经过排查 发现一个属性比较可疑

intrinsicContentSize,也就是控件的内置大小

intrinsicContentSize

那我们下面开始确认猜想 打印 image的size 和 imageView的intrinsicContentSize

打印尺寸

二者完全一样 那么真想就要浮出水面了!
现在我们可以理解 intrinsicContentSize

API解释

大意是当我们没有约束或者设置view的size的时候 view会自动根据内容先初始化一个intrinsicContentSize


图片文件

然后我们再看一下图片原始大小 果然刚才intrinsicContentSize被初始化成了image的size

那接下来就很简单了 直接重新这个方法就可以了


重写方法

看看效果

运行效果2

小结

系统给出的contentModel枚举达不到预期的效果时,可以通过新建子类重写系统方法 以达到预期效果。
另外,重写方法之后,系统的contentModel无论选择何种样式,都不会生效。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,417评论 25 709
  • 写在前面 iOS的的布局机制「auto layout」不是一个新概念,它早在iOS 6中就推出来了,当下距离iOS...
    西门淋雨阅读 5,454评论 2 4
  • 都说清明时节雨纷纷,但是今年的清明小长假,天气却异常的好,非常适合外出游玩。兵哥所在的城市杭州,就被全国各地赶来的...
    元兵阅读 1,436评论 0 0
  • 昨天下午,和爸爸一起去接宝贝儿子放学,手里拿着儿子早上再三交代的自己拼装的小汽车,因为是自己拼装的,所以格...
    暖光浅笑a阅读 2,929评论 0 1