iOS开发经验总结

1、动画切换window的根控制器

// options是动画选项

[UIView transitionWithView:[UIApplication sharedApplication].keyWindow duration:0.5f options:UIViewAnimationOptionTransitionCrossDissolve animations:^{

BOOL oldState = [UIView areAnimationsEnabled];       

[UIView setAnimationsEnabled:NO];        

[UIApplication sharedApplication].keyWindow.rootViewController = [RootViewController new];      

[UIView setAnimationsEnabled:oldState]; 

  } completion:^(BOOLfinished) {   

}];


2、开发中如果要动态修改tableView的tableHeaderView或者tableFooterView的高度,需要给tableView重新设置,而不是直接更改高度。正确的做法是重新设置一下tableView.tableFooterView = 更改过高度的view。为什么?其实在iOS8以上直接改高度是没有问题的,在iOS8中出现了contentSize不准确的问题,这是解决办法。


3、collectionView的内容小于其宽高的时候是不能滚动的,设置可以滚动:

collectionView.alwaysBounceHorizontal = YES;

collectionView.alwaysBounceVertical = YES;


4、颜色转图片

+ (UIImage*)cl_imageWithColor:(UIColor*)color {

CGRectrect =CGRectMake(0.0f,0.0f,1.0f,1.0f);

UIGraphicsBeginImageContext(rect.size);

CGContextRefcontext =UIGraphicsGetCurrentContext();

CGContextSetFillColorWithColor(context, [colorCGColor]);

CGContextFillRect(context, rect);

UIImage*image =UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();returnimage;

}


你可能感兴趣的:(iOS开发经验总结)