UIViewContentMode

本文详细解析了UIViewContentMode在iOS开发中的多种状态及其应用,包括scale、aspect、fit、fill等概念,以及如何通过Redraw实现视图重绘。深入探讨了这些模式如何帮助开发者在不同场景下调整和优化UI元素的显示效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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,
};

UIViewContentMode不是有很多种吗,记住 几个要点就可以很容易记住都分别是什么样的状态了。

  • 1.带有scale的会被拉伸
  • 2.带有Aspect会保持原来的比例
  • 3.fit是保证大小在合适的范围,即能宽和高至少有一个是和边框的宽高一致的
  • 4.fill是要充满边框,所以可能会导致最后宽或者高超出边框范围,这个时候就clipsToBounds就可以了
  • 5.UIViewContentModeRedraw, // redraw on bounds change (calls -setNeedsDisplay)这个是调用setNeedsDisplay这个方法时会重新画一遍
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值