iOS UI技巧(持续更新)

  1. 清空所以子视图
[view.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
  1. 使tableView的grouped类型的组头出现了一段默认的高度,取消方法
//1.设置tableHeaderView的Frame
 CGRect frame = CGRectMake(0, 0, 0, 0.1);
    self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:frame];
//2.把tableView整体进行偏移
 self.tableView.contentInset = UIEdgeInsetsMake(-35, 0, 0, 0);
//3.针对没有头部视图的,只需要实现这个代理方法
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    return 0.1;
}

3.iOS截取UIView,保存为Image

#pragma mark 生成image
- (UIImage *)makeImageWithView:(UIView *)view
{
    CGSize size = bgView.bounds.size;
    /*
     下面方法,
     第一个参数表示区域大小。
     第二个参数表示是否是非透明的。如果需要显示半透明效果,需要传NO,否则传YES。
     第三个参数就是屏幕密度了,关键就是第三个参数。
     */
    UIGraphicsBeginImageContextWithOptions(size, NO, 0);
    [view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return image;
}
  1. 改变pushViewCollectionView的跳转样式
/*
方法一:
注意:使用view的layer属性,要在头文件里导入
#import 
和添加QuartzCore.framework
*/
transition.type = kCATransitionFade;//类型(具体类型看源码)
transition.subtype = kCATransitionFromRight;//从右边push(具体看源码)
[self.navigationController.view.layer addAnimation:transition forKey:kCATransition];

/*
方法二:
*/
UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:gradeVc];
nc.modalTransitionStyle = UIModalPresentationNone;
[self.window.rootViewController presentViewController:nc animated:YES completion:nil];
  1. 随机颜色的宏定义
#define random(r, g, b, a) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:(a)/255.0]
#define randomColor random(arc4random_uniform(256), arc4random_uniform(256), arc4random_uniform(256), arc4random_uniform(256))

你可能感兴趣的:(iOS UI技巧(持续更新))