一.tableView中的问题:
1.设置tableview 的cell的颜色
//方法一:
cell .contentView .backgroundColor = [ UIColor redColor ];
//方法二
- ( void )tableView:( UITableView *)tableView willDisplayCell :( UITableViewCell *)cell forRowAtIndexPath :( NSIndexPath *)indexPath
{cell .backgroundColor = [ UIColor redColor ];
}
2.设置tableViewCell间的分割线的颜色
[theTableView setSeparatorColor:[UIColor xxxx ]];
3.给cell添加控件会出现cell重叠的问题(cell的重用),解决方法:每次添加控件前,判断cell的父视
图上是否已经存在该控件,是就移除
for(UIView * view in cell.subviews){
if([view isKindOfClass:[UILabel class]])
{
[view removeFromSuperview];
}
}
4.表视图在tableViewCell的方法中,当数据模型的数组为空时,程序崩溃.
解决办法:
原因:是因为当cell加载内容时,数据模型的数组中还未解析完数据,为空,此时从数组中取数据就会崩溃,因此要进行判断
if(self.weatherArray.count == 0) {
return cell;
}
二.团队项目中,用soureTree合并代码中的问题
1.合并的时候发生冲突
打开存在冲突的文件,会看到如下标志:
<<<<<<<标记冲突开始,后面跟的是当前分支中的内容。
HEAD指向当前分支末梢的提交。
=======之后,>>>>>>>之前是要merge过来的另一条分支上的代码。
>>>>>>>之后跟的是要合并过来的分支的名称
三.解析详情页(是webView)遇到的3个问题:
1.图片太大,超出屏幕范围
webView.scalesPageToFit =YES;
2.怎么在webView上面添加一行文字
字符串拼接html代码
3.文字太小
设置代理
- (void)webViewDidFinishLoad:(UIWebView *)webView{
[webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '250%'"];
}
四.UIImageView自适应图片大小
UIImage *image1 = [UIImage imageNamed:@"jian.jpg"];
UIImageView *imageV1 = [[UIImageView alloc] initWithImage:image1];
imageV1.frame = CGRectMake(0, 0, image1.size.width,image1.size.height);
五.隐藏状态栏
在要隐藏的控制器里的viewWillAppear里添加:
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
[self prefersStatusBarHidden];
[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
}
再添加prefersStatusBarHidden方法
- (BOOL)prefersStatusBarHidden
{
return YES;//隐藏为YES,显示为NO
}
六.如果在push跳转时需要隐藏tabBar,设置self.hidesBottomBarWhenPushed=YES;
self.hidesBottomBarWhenPushed=YES;
NextViewController *next=[[NextViewController alloc]init];
[self.navigationController pushViewController:next animated:YES];
self.hidesBottomBarWhenPushed=NO;
并在push后设置self.hidesBottomBarWhenPushed=NO;
这样back回来的时候,tabBar会恢复正常显示。
七.数据解析
1.解析数据的时候如果用initWithCapacity开辟空间,那么在下拉刷新的时候数组会是不变的,应该用懒加载给数组开辟空间(即每次使用的时候都重新开辟空间)
2.json数据解析中文是乱码的时候,直接用普通方法解析时data会为空程序会崩溃
解决办法:将url字符串中的中文转换成utf-8的形式
// 将中文转为UTF8编码 collect.comicsName为中文
NSString *typeString = (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,(__bridge CFStringRef)collect.comicsName,NULL,(CFStringRef)@"!*'();:@&=+$,/?%#[]",kCFStringEncodingUTF8);
八.地图
1.高德地图显示附近信息,设置范围后还是20条数据,原因是默认是20条,最多50条,大于50条信息会放在下一页。
//设置默认条数
request.offset = 50;
//设置显示页数
request.page = 1;
九.github出现的问题
1.github上传代码通过cocopods导入第三方,下载后有人工程报错 显示引入包的头文件找不到
2.github部分电脑上传到本地过程中未能正常上传,不能显示工程(解决方法为显示隐藏文件,删除自带git文件 . 原因:xcode7 自带git 导致导入过程中默认为已经导入github)
十.在arc情况下,要移除通知/监听/代理/计时器等对象时,要在dealloc方法中置为空,而且在arc中不能调用[super dealloc]方法
十一.json数据解析中文是乱码的时候,直接用普通方法解析时data会为空程序会崩溃
解决办法:将url字符串中的中文转换成utf-8的形式
// 将中文转为UTF8编码 collect.comicsName为中文
NSString *typeString = (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes(NULL,(__bridge CFStringRef)collect.comicsName,NULL,(CFStringRef)@"!*'();:@&=+$,/?%#[]",kCFStringEncodingUTF8);
十二.1.将导航栏的二级菜单的back按钮替换
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" styleUIBarButtonItemStuleBorderd target:nil action:nil];
[self.navigationItem setBackBarButtonItem:backButton];
2.清除缓存的内容大小,用[[SDWebImage sharedImageCache]getSize]这个方法
3.transform的方法:CGAffineTransformMake()