iOS UIViewContentMode 不同效果图文对比

一. iOS提供了的ContentMode有如下几种

其中默认mode是UIViewContentModeScaleToFill

typedef NS_ENUM(NSInteger, UIViewContentMode) {
    UIViewContentModeScaleToFill,
    UIViewContentModeScaleAspectFit,      // contents scaled to fit with fixed aspect. remainder is transparent
    UIViewContentModeScaleAspectFill,     // contents scaled to fill with fixed aspect. some portion of content may be clipped.
    UIViewContentModeRedraw,              // redraw on bounds change (calls -setNeedsDisplay)
    UIViewContentModeCenter,              // contents remain same size. positioned adjusted.
    UIViewContentModeTop,
    UIViewContentModeBottom,
    UIViewContentModeLeft,
    UIViewContentModeRight,
    UIViewContentModeTopLeft,
    UIViewContentModeTopRight,
    UIViewContentModeBottomLeft,
    UIViewContentModeBottomRight,
};

二. 煮几个栗子

UIViewContentModeScaleToFill在这里插入图片描述

特点:
强行把原始图片塞进UIImageView设置的size里
如果宽高比相同,等比例缩放;
如果宽高比不同,会变形塞入;

UIViewContentModeScaleAspectFit在这里插入图片描述

特点:
等比例缩放图片以适应UIImageView的size,不会裁剪图片
图片的宽度或者高度(至少一个)恰好与视图的宽度或者高度相等;

UIViewContentModeScaleAspectFill在这里插入图片描述

特点:
等比例缩放图片但会超出边界,不会裁剪图片
图片的宽度或者高度(至少一个)恰好与视图的宽度或者高度相等;

UIViewContentModeRedraw

效果同默认态UIViewContentModeScaleToFill,设置没什么特殊效果,而是告诉视图在每次设置或者更改frame的时候自动调用drawRect:方法

UIViewContentModeLeft 和 UIViewContentModeRight

在这里插入图片描述
效果为左对齐、右对齐;如上图对比

UIViewContentModeTop 和 UIViewContentModeBottom在这里插入图片描述
UIViewContentModeTopLeft、UIViewContentModeTopRight、UIViewContentModeBottomLeft、UIViewContentModeBottomRight

在这里插入图片描述

  • 14
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iOS的UICollectionView是一种用于展示可滚动内容的高度可定制化的视图控件,而翻书效果是通过使用UICollectionViewFlowLayout结合自定义布局实现的。 要实现翻书效果,我们首先需要创建一个自定义的UICollectionViewFlowLayout。在这个布局中,我们可以定义每个UICollectionViewCell在屏幕上的位置和尺寸。为了实现翻书效果,我们可以使用CATransform3D来对UICollectionViewCell进行3D旋转变换,以模拟翻书的效果。 然后,在设置UICollectionView时,我们需要将我们自定义的布局对象赋值给UICollectionViewFlowLayout属性。接下来,我们可以使用UICollectionViewDataSource和UICollectionViewDelegate方法来填充和管理集合视图中的单元格。 当用户滚动集合视图时,我们可以通过监听UICollectionViewDelegate的方法来获取滚动偏移量,并根据滚动位置计算当前屏幕上显示的单元格。在这个过程中,我们可以根据滚动偏移量来设置每个单元格的旋转角度,以实现翻书的效果。 最后,我们还可以使用手势识别器来实现手势控制翻书效果。用户可以通过左滑或右滑手势来翻动屏幕上的单元格,从而切换到下一页或上一页。 总的来说,要实现iOS上的UICollectionView翻书效果,我们需要自定义UICollectionViewFlowLayout、使用CATransform3D进行单元格的旋转变换,监听滚动偏移量来计算旋转角度,并使用手势识别器来实现手势控制翻书效果。这样,我们就可以在集合视图中实现翻书效果的展示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值