今年剛剛換了工作,整理一下用到的小知識點银萍,做個筆記变勇,也方便有需要的的小伙伴們,如有錯誤贴唇,請指正搀绣,謝謝!
目前的積累還是比較少的戳气,會隨時添加的链患。
手勢相關
1、允許多個手勢并發(fā)
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}
2物咳、子視圖屏蔽父視圖手勢
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
if ([touch.view isDescendantOfView:所需要屏蔽的子視圖]) {
return NO;
}
return YES;
}
tabbar相關
1锣险、最近項目需求,底部tabbar的背景圖片不規(guī)則览闰,兩個tabbaritem平均分的位置有點偏差芯肤,需要移動tabbaritem的位置(系統(tǒng)的tabbar)
UINavigationController * na1 = (UINavigationController*)self.childViewControllers[1];
[na1.tabBarItem setTitlePositionAdjustment:UIOffsetMake(2, 0)];
導航欄相關
1、導航欄與狀態(tài)欄
1)ios 7 之后压鉴,setTranslucent=yes 默認的 則狀態(tài)欄及導航欄底部為透明的崖咨,界面上的組件應該從屏幕頂部開始顯示,因為是半透明的油吭,可以看到击蹲,所以為了不和狀態(tài)欄及導航欄重疊署拟,第一個組件的y應該從44+20的位置算起
如果設置成no,則狀態(tài)欄及導航樣不為透明的歌豺,界面上的組件就是緊挨著導航欄顯示了推穷,所以就不需要讓第一個組件在y方向偏離44+20的高度了。
2)設置導航欄圖片类咧。Gloabl Tint 默認顏色馒铃,更換圖片時,添加[image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]痕惋,顯示圖片原本顏色
3)導航控制器可以賦給其他導航控制器
音視頻處理
1区宇、獲取視頻第一幀
/**
* 獲取視頻第一幀
*
* @return
*/
-(UIImage *)thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time {
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoURL options:nil];
NSParameterAssert(asset);
AVAssetImageGenerator *assetImageGenerator =[[AVAssetImageGenerator alloc] initWithAsset:asset];
assetImageGenerator.appliesPreferredTrackTransform = YES;
assetImageGenerator.apertureMode =AVAssetImageGeneratorApertureModeEncodedPixels;
CGImageRef thumbnailImageRef = NULL;
CFTimeInterval thumbnailImageTime = time;
NSError *thumbnailImageGenerationError = nil;
thumbnailImageRef = [assetImageGenerator copyCGImageAtTime:CMTimeMake(thumbnailImageTime, 60)actualTime:NULL error:&thumbnailImageGenerationError];
if(!thumbnailImageRef)
NSLog(@"thumbnailImageGenerationError %@",thumbnailImageGenerationError);
UIImage*thumbnailImage = thumbnailImageRef ? [[UIImage alloc]initWithCGImage:thumbnailImageRef] : nil;
return thumbnailImage;
}
設置控件全局顯示樣式appearance proxy
appearance是apple在iOS5.0上加的一個協(xié)議,它讓程序員可以很輕松地改變某控件的全局樣式(背景)
支持UIAppearance協(xié)議的類可以訪問appearance selector ,它為receiver返回appearance proxy值戳,可以給proxy發(fā)一些消息议谷,像setTintColor:等
但是有一點,就是支持的類有限堕虹,支持的類有:
1.UIActivitiIndicatorView
2.UIBarButtonItem
3.UIBarItem
4.UINavgationBar
5.UIPopoverControll
6.UIProgressView
7.UISearchBar
8.UISegmentControll
9.UISlider
10.UISwitch
11.UITabBar
12.UITabBarItem
13.UIToolBar
14.UIView
15.UIViewController
例:
[[UINavigationBar appearance] setTintColor:[UIColor blackColor]];
[[UIView appearance] setTintColor:[UIColor blackColor]];