1.手机录音或通话中时APP界面下移20像素(自定义导航栏添加代码如下)
2.输入中文时限制字符长度(当输入未转成中文时也会计算长度)
3.修改导航栏颜色
self.navigationController.navigationBar.barTintColor = [UIColor blueColor];
4.界面下移64像素(导航控制器添加代码)
self.automaticallyAdjustsScrollViewInsets = NO;
5.GCD组函数(同一界面的数据不同接口获取,全都获取完成才进行刷新操作)
6.将UISearchController添加到tableView的headerView上面点击搜索的时候导航栏消失(控制器添加)
self.definesPresentationContext = YES;
7.自定义照片截取
由于拍摄时所看到视图宽高比与实际拍摄出来的图片的宽高比并不一致,所以导致图片经过等比例缩放到宽度一样时,高度有一部分超出了我们的可视范围,首先,我们要计算出超出部分的高度
//_cameraView为相机视图,即拍摄时看到图片的区域
CGFloat scale = image.size.width / _cameraView.width;//计算出缩放的比例
CGFloat showImageH = image.size.height / scale;//缩放后图片的高度
CGFloat offsetY = (showImageH - _cameraView.height) * 0.5;//上下超出的部分是相等的,所以*0.5得出上面超过的部分
超出部分的高度计算完后,我们就要来计算蓝色方框(_circleView,_cameraView的子控件)的坐标了
x:(offsetY+_circleView.y) * scale,别忘了乘以缩放比例
y:_circleView.x * scale,因为circleView在父控件中水平居中,所以_circleView在父控件中的x值乘以缩放比就是在图片坐标系中的y值
width:_circleView.height scale
height:_circleView.width scale
然后根据计算好的frame截取图片就ok了
CGRect rect = CGRectMake(x, y, width,height);
CGImageRef tailorImageRef = CGImageCreateWithImageInRect(photo.CGImage, rect);
UIImage *tailorImage = [UIImage imageWithCGImage:tailorImageRef];