iOS小问题解决整理

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];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容