1.手機(jī)錄音或通話中時(shí)APP界面下移20像素(自定義導(dǎo)航欄添加代碼如下)
2.輸入中文時(shí)限制字符長度(當(dāng)輸入未轉(zhuǎn)成中文時(shí)也會(huì)計(jì)算長度)
3.修改導(dǎo)航欄顏色
self.navigationController.navigationBar.barTintColor = [UIColor blueColor];
4.界面下移64像素(導(dǎo)航控制器添加代碼)
self.automaticallyAdjustsScrollViewInsets = NO;
5.GCD組函數(shù)(同一界面的數(shù)據(jù)不同接口獲取偷遗,全都獲取完成才進(jìn)行刷新操作)
6.將UISearchController添加到tableView的headerView上面點(diǎn)擊搜索的時(shí)候?qū)Ш綑谙В刂破魈砑樱?/p>
self.definesPresentationContext = YES;
7.自定義照片截取
由于拍攝時(shí)所看到視圖寬高比與實(shí)際拍攝出來的圖片的寬高比并不一致,所以導(dǎo)致圖片經(jīng)過等比例縮放到寬度一樣時(shí)售滤,高度有一部分超出了我們的可視范圍,首先台诗,我們要計(jì)算出超出部分的高度
//_cameraView為相機(jī)視圖完箩,即拍攝時(shí)看到圖片的區(qū)域
CGFloat scale = image.size.width / _cameraView.width;//計(jì)算出縮放的比例
CGFloat showImageH = image.size.height / scale;//縮放后圖片的高度
CGFloat offsetY = (showImageH - _cameraView.height) * 0.5;//上下超出的部分是相等的,所以*0.5得出上面超過的部分
超出部分的高度計(jì)算完后拉队,我們就要來計(jì)算藍(lán)色方框(_circleView弊知,_cameraView的子控件)的坐標(biāo)了
x:(offsetY+_circleView.y) * scale,別忘了乘以縮放比例
y:_circleView.x * scale氏仗,因?yàn)閏ircleView在父控件中水平居中吉捶,所以_circleView在父控件中的x值乘以縮放比就是在圖片坐標(biāo)系中的y值
width:_circleView.height scale
height:_circleView.width scale
然后根據(jù)計(jì)算好的frame截取圖片就ok了
CGRect rect = CGRectMake(x, y, width,height);
CGImageRef tailorImageRef = CGImageCreateWithImageInRect(photo.CGImage, rect);
UIImage *tailorImage = [UIImage imageWithCGImage:tailorImageRef];