一、自定义裁剪相册照片核心点
1、读取照片
2、自定义UI和初始化缩放比例
3、自由点缩放
4、裁剪指定区域
设计要求
1、保留边距,初始化居中铺满高亮区域
2、自由点缩放,铺满全屏
3、裁剪方形图片
image.png
image.png
二、视图层级搭建
1、最底层是UIScrollview,UIScrollview上放置UIimageView。
2、和UIScrollview同父视图,创建自定义navbarView。
3、和UIScrollview同父视图,创建一个mask模糊层,禁用手势,模糊层可以使用layer图层实现,或用4块小视图拼接都行。
- (void)createSubviews
{
//注意: 此处不要使用约束布局,因为scrollview存在缩、滚动、弹簧动画等混合效果,使用约束计算容易崩溃
self.scrollView.frame = CGRectMake(0, 0, DD_SCREEN_WIDTH, DD_SCREEN_HEIGHT);
[self.view addSubview:self.scrollView];
[self.scrollView addSubview:self.imageView];
self.scrollView.contentInset =
UIEdgeInsetsMake(self.contentInsetTop, self.contentInsetLeft, self.contentInsetTop, self.contentInsetLeft);
[self.view addSubview:self.navBarView];
[self.navBarView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.equalTo(self.view);
make.height.mas_equalTo(navBarHeight);
}];
//镂空蒙层
[self.view addSubview:self.maskView];
[self.maskView m