图片渲染
解决图片渲染的方法:
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
属性