iOS 图片加载的一些问题

图片渲染

解决图片渲染的方法:

UIImageRenderingModeAutomatic  //根据图片的使用环境和所处的绘图上下文自动调整渲染模式
UIImageRenderingModeAlwaysOriginal  //始终绘制图片原始状态,不使用Tint Color
UIImageRenderingModeAlwaysTemplate  //始终根据Tint Color绘制图片,忽略图片的颜色信息
- (UIImage *)imageWithRenderingMode:(UIImageRenderingMode)renderingMode NS_AVAILABLE_IOS(7_0);

图片变形
self.imageView.contentMode = UIViewContentModeScaleAspectFit;

变形方式有:

typedef NS_ENUM(NSInteger, UIViewContentMode) {
    UIViewContentModeScaleToFill,       // 默认的,拉伸,填充满
    UIViewContentModeScaleAspectFit,    // 不拉伸, 填充满,超出裁剪
    UIViewContentModeScaleAspectFill,   // 不拉伸,填充满,不足留白
    UIViewContentModeRedraw,            // 拉伸,填充满          
    UIViewContentModeCenter,            // 居中 
    UIViewContentModeTop,               // 居上
    UIViewContentModeBottom,            // 居下
    UIViewContentModeLeft,              // 居左
    UIViewContentModeRight,             // 居右
    UIViewContentModeTopLeft,           // 居上左
    UIViewContentModeTopRight,          // 居上右
    UIViewContentModeBottomLeft,        // 居下左
    UIViewContentModeBottomRight,       // 居下右
};

图片拉伸
  • 代码设置
// 设置端盖的值
CGFloat top = image.size.height * 0.5;
CGFloat left = image.size.width * 0.5;
CGFloat bottom = image.size.height * 0.5;
CGFloat right = image.size.width * 0.5;
// 设置端盖的值
UIEdgeInsets edgeInsets = UIEdgeInsetsMake(top, left, bottom, right);
// 拉伸图片
// UIImageResizingModeTile 平铺模式
// UIImageResizingModeStretch 拉伸模式
UIImage *newImage = [image resizableImageWithCapInsets:edgeInsets resizingMode: UIImageResizingModeStretch];
  • 图片设置
    设置Assets图片的Slicing属性
iOS 图片加载的一些问题_第1张图片

你可能感兴趣的:(iOS 图片加载的一些问题)