iOS开发小技巧(持续更新)

1.切换根视图控制器淡出的效果(切换成登陆页面之类的)

self.window.rootViewController = loginVC;

[UIView transitionWithView:self.window

duration:0.5

options:UIViewAnimationOptionTransitionCrossDissolve

animations:^ { self.window.rootViewController = loginVC; }

completion:nil];

2.一个viewcontroller 包含多个viewcontroller(可用在切换页面上)

[self addChildViewController:self.cv1];

[self addChildViewController:self.vc2];

self.currentViewController = self.vc1;

[self.view addSubview:self.vc1.view];

然后在切换的时候用下面方法

[self transitionFromViewController:self.currentViewController toViewController:self.equipmentListVC duration:0 options:UIViewAnimationOptionTransitionNone animations:^{

} completion:^(BOOL finished) {

[self.view addSubview:self.equipmentListVC.view];

self.currentViewController = self.equipmentListVC;

}];

这个方法可以用于在给vc瘦身上,分出多个子视图控制器,可读性也会比较好。

3.图片不能有alpha 通道

上架App过程中,在上传预览图、图标的时候,提示:如果图片有问题,页面上会提示“图片不能有alpha 通道。”

解决方案:打开finder,找到图片,显示简介,这里可以看到图片是否带有alpha通道;

用mac自带的预览打开图片,选择导出,这里可以渲染是否带alpha通道;

4.在任意页面让键盘消失掉

[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];

5.数组内查找(数组包含是字典或对象都可以)

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == %@", "张三"];

NSArray *filteredArray = [array filteredArrayUsingPredicate:predicate];

6.数组排序

IOS对存放对象的数组排序

7.快速设置页面搭建

使用storyboard的静态tableview

8.设置label的行间距(文字样式什么的建议用NSMutableAttributedString)

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:self.contentLabel.text];

NSMutableParagraphStyle *paragraphStyle =  [[NSMutableParagraphStyle alloc] init];   

[paragraphStyle setLineSpacing:3]; 

  //调整行间距                                                       

[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle                          range:NSMakeRange(0, [self.contentLabel.text length])];

self.contentLabel.attributedText = attributedString;

9.快速设置tableview的分割线距离

self.table.separatorInset = UIEdgeInsetsMake(0, 10, 0, 0);

10.去掉多余的分割线

self.table.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

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