本文主要是介绍如何修改UIButton的imageView显示以及裁剪图片,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 往往我们需要修改UIButton的imageView 的显示范围 UIButton是一个由两个UIImageView,和一个UILable组成的控件。但有时需求,让UIButton的ImageView显示在UIButton的某一个位置,
此时我们就可以自定义UIButton去重写-(CGRect)imageRectForContentRect:(CGRect)contentRect; 这个方法来返回一个CGRect,也就是你想要imageView在UIButton上显示的范围。
2.如何使用代码裁剪一张图片的某一部分。
[CGImageCreateWithImageInRect(<#CGImageRef _Nullable image#>, <#CGRect rect#>)];通过这个方法可以裁剪一张图片的某一范围内的内容,并范围一个CGImageRef类型的图片。
[UIImage imageWithCGImage:<#(nonnull CGImageRef)#>];通过这个方法可以将裁剪的CGImageRef类型的图片转换为UIImage类型的图片。
通过这两个方法就可以裁剪图片了,注意这里的rect范围是要根据屏幕的缩放因子来结算的,因为不同的苹果手机有3中图片,就是来适配不同手机屏幕而准备的,而我们在裁剪图片时,也需要获取屏幕的缩放因子,来计算裁剪的范围。
CGFloat scale = [UIScreenmainScreen].scale; 通过这个方法就可以获取当前手机的缩放因子。
最后通过计算,需要裁剪的范围,来获取裁剪的图片。
这篇关于如何修改UIButton的imageView显示以及裁剪图片的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!