问题 解决

1.

解析详情页(是webView)遇到的3个问题:

1.图片太大,超出屏幕范围

2.怎么在webView上面添加一行文字

3.文字太小

1.解决方法

webView.scalesPageToFit =YES;

2.字符串拼接html代码

3.解决方法

设置代理

  • (void)webViewDidFinishLoad:(UIWebView *)webView{

[webView stringByEvaluatingJavaScriptFromString:@”document.getElementsByTagName(‘body’)[0].style.webkitTextSizeAdjust= ‘250%’”];

}
2.

去掉状态栏

在要隐藏的控制器里的viewWillAppear里添加:

if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {

[self prefersStatusBarHidden];

[self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];

}
再添加prefersStatusBarHidden方法

  • (BOOL)prefersStatusBarHidden

{

return YES;//隐藏为YES,显示为NO

}
3.

高德地图显示附近信息,设置范围后还是20条数据,原因是默认是20条,最多50条,大于50条信息会放在下一页。

//设置默认条数

request.offset = 50;

//设置显示页数

request.page = 1;
4.

github部分电脑上传到本地过程中未能正常上传,不能显示工程(解决方 法为显示隐藏文件,删除自带git文件.原因:xcode7 自带git 导致导入过程中默认为已经导入github)
5.

1.合并的时候发生冲突

打开存在冲突的文件,会看到如下标志:

<<<<<<<标记冲突开始,后面跟的是当前分支中的内容。

HEAD指向当前分支末梢的提交。

=======之后,>>>>>>>之前是要merge过来的另一条分支上的代码。

之后的跟的是要合并过来的分支的名称
6.

* Terminating app due to uncaught exception ‘NSGenericException’, reason: ‘* Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated.’

当程序出现这个提示的时候,是因为你一边便利数组,又同时修改这个数组里面的内容,导致崩溃,网上的方法如下:

NSMutableArray * arrayTemp = xxx;

NSArray * array = [NSArray arrayWithArray: arrayTemp];

for (NSDictionary * dic in array) {

if (condition){

[arrayTemp removeObject:dic];

}

}

这种方法就是在定义一个一模一样的数组,便利数组A然后操作数组B
7.

让tableView的头视图跟着tableView一起滑动

需要将tableViewController中的tableView样式改为grouped的,因为tableView默认的样式是plain,在tableViewCotroller中重写initWithStyle方法

方法1:

//重写init方法,将tableView的样式设为group的样式,区头就会跟着滑动了 最好不要重写 否则 全变成Grouped样式 可在初始化时候设置样式

-(instancetype)initWithStyle:(UITableViewStyle)style{

if (self = [super initWithStyle:UITableViewStyleGrouped]) {

return self;

}

return self;

}

方法2:修改tableView的位置

  • (void)loadHeaderImage

{

CGFloat offest = 120;

self.tableView.contentInset = UIEdgeInsetsMake(offest, 0, 0, 0);

self.imgVIew = [[UIImageView alloc] init];

self.imgVIew.frame = CGRectMake(0, -offest, kScreenWidth, offest);

self.imgVIew.image = [UIImage imageNamed:@”image090”];

[self.tableView addSubview:self.imgVIew];

}

UIEdgeInsets UIEdgeInsetsMake (

CGFloat top,

CGFloat left,

CGFloat bottom,

CGFloat right

);
8.

1.

// 去掉cell横线

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

2.

// 点击单元格的时候取消选中单元格

// 点击单元格的时候取消选中单元格 -(void)tableView:(UITableView )tableView didSelectRowAtIndexPath:(NSIndexPath )indexPath{

[self.tableView deselectRowAtIndexPath:indexPath animated:YES];

}
9.

1、错误描述:Xcode重装后,导致cocopods执行安装第三方时出错

错误信息:xcrun: error: active developer path (“/Users/apple/Desktop/Xcode5.app/Contents/Developer”) does not exist, use xcode-select to change

解决方案:命令行输入:sudo xcode-select -switch /Applications/Xcode2.app/Contents/Developer

备注:Xcode2为新装Xcode的名称
10.

searchBar搜索拼接中文,需要转换utf8编码

NSString typeString = (__bridge NSString )CFURLCreateStringByAddingPercentEscapes(NULL,(__bridge CFStringRef)(需要转换的文字),NULL,(CFStringRef)@”!*’();:@&=+$,/?%#[]”,kCFStringEncodingUTF8);
11.

定义tableView上方有一条多余白框 (原因,系统默认给的可滑动距离,用如下方法解决去除)

self.automaticallyAdjustsScrollViewInsets = NO;
12.

This application is modifying the autolayout engine from a background thread, which can lead to engine corruption and weird crashes. This will cause an exception in a future release

集合视图加载完数据以后.必须要调用reloadData方法刷新视图,否则程序会崩溃,因为item的个数为第一次运行的个数, 且因为后面的不会走创建item个数的方法,如果刷新后,会走这个方法,这样就避免了item与数据的不对应
13.

当collectionView的内容没有超过collectionView的大小时,如果想让collectionView始终滑动,则可以设置alwaysBounceVertical的值为YES
14.

可视化自适应cell高度的时候,如果多个控件需要自适应,最后一个控件需要四个约束

自适应代码:

self.tableView.rowHeight = UITableViewAutomaticDimension;

self.tableView.estimatedRowHeight = 100;
15.

问题描述:tableView初始加载无数据时,不想显示单元格线

解决方案:当tableView加载完毕时,调用如下方法

//tableView参数为要隐藏单元格线的tableView

-(void)setExtraCellLineHidden: (UITableView *)tableView

{

UIView *view = [UIView new];

view.backgroundColor = [UIColor clearColor];

[tableView setTableFooterView:view];

}
16.

.LeanCloud Pointer类型关系中属性的获取

解决方法:LeanCloud只会返回id,不会返回属性,要在需要的时候自己查询匹配再使用
17.

实现拖动列表时放大列表顶部的图片,在集合视图上添加该视图后,视图图片会遮挡住区头视图的内容.

解决办法:

将图片视图的contentMode属性设置为UIViewContentModeScaleToFill,使图片视图的大小随着自己设置的frame缩放.

UIViewContentMode 是UIView的属性

默认是UIViewContentModeScaleToFill

UIViewContentModeScaleToFill,//图片内容随着图片视图的frame进行缩放,图片可能会变形

UIViewContentModeScaleAspectFit,//保证图片比例不变,而且全部显示在图片视图上,但图片视图可能会有空白

UIViewContentModeScaleAspectFill,//图片比例不变,而且填充整个图片视图,根据原图片的大小填充视图

UIViewContentModeRedraw,通过设置contentMode属性值为UIViewContentModeRedraw。那么将在每次设置或更改frame的时候自动调用drawRect:方法

ter下面这几个属性就是设置图片视图的内容是在顶部还是底部之类的位置,按字面意思就可以理解

UIViewContentModeTop,

UIViewContentModeBottom,

UIViewContentModeLeft,

UIViewContentModeRight,

UIViewContentModeTopLeft,

UIViewContentModeTopRight,

UIViewContentModeBottomLeft,

UIViewContentModeBottomRight,

UIViewContentModeBottom,

UIViewContentModeLeft,

UIViewContentModeRight,

UIViewContentModeTopLeft,

UIViewContentModeTopRight,

UIViewContentModeBottomLeft,

UIViewContentModeBottomRight
18.

.github上传代码通过cocopods导入第三方,下载后有人工程报错 显示引入包的头文件找不到

用 cocoaPods 添加第三方库, 成功之后,在工程中却导入不了头文件,而且根本没有提示,

那么,我们就在 TARGETS –> Build Settings —> User Header Search Paths 中 添加 ${SRCROOT} , 并把 no-recursive 改为 recursive
19.

遇到一坑: 数据解析正确,model(数据模型)中的属性等都正确 在控制器中去赋值,却没有值,打断点发现根本没有走model(数据模型)中 .m 文件的setValue:(id)value forUndefinedKey:(NSString *)key的方法

原因: 因为调用解析数据的方法时,使用了 block 方法传值, block方法在执行的顺序上 是先执行大括号外面的,然后再走block块大括号内部,如果在block外面写赋值,那么值就是空的,因为值还没传递出来,所以这时候要把赋值方法放在block内部,值就可以顺利传递了!
20.

project.pbxproj合并冲突问题

由于目录结构修改导致冲突(新增文件等)

合并之后导致工程无法打开

解决方法

打开project.pbxproj文件

查找类似<<<<<<<<,++++++++,>>>>>>>>所在的行

找到之后删除整行

保存
21.

button内部有imageView和titleLabel两个控件,按钮的内边距分为content(整体)、title(标题)、image(图片)三个,因此对于水平排布,可以通过内边距和修改控件坐标两种方式实现;而竖直排布只能通过修改坐标,因为UIButton默认的是水平排布。
22.

.解析的数据去掉html标签

  • (NSString )filterHTML:(NSString )html{

NSScanner * scanner = [NSScanner scannerWithString:html];

NSString * text = nil;

while([scanner isAtEnd]==NO)

{

//找到标签的起始位置

[scanner scanUpToString:@”<” intoString:nil];

//找到标签的结束位置

[scanner scanUpToString:@”>” intoString:&text];

//替换字符

html = [html stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@”%@>”,text] withString:@”“];

}
// html = [_message stringByReplacingOccurrencesOfString:@” ” withString:@”“];

// NSString * regEx = @”<([^>]*)>”;

// html = [html stringByReplacingOccurrencesOfString:regEx withString:@”“];

return html;

}
23.

网络请求的图片,需要实现点击响应控制器跳转的事件,并且跳转的页面需要得到上个页面网络请求来的图片,对其进行操作,这时使用block传值的同时需要对imageView进行copy,否则点击图片跳转第二个页面在返回第一个页面会造成第一个的图片消失,解决问题的具体代码:- (UIImageView*)duplicate:(UIImageView*)view

{

NSData * tempArchive = [NSKeyedArchiver archivedDataWithRootObject:view];

return [NSKeyedUnarchiver unarchiveObjectWithData:tempArchive];

}
24.

引入友盟分享,从友盟官网下载,拖入项目,与COCOAPODS 冲突

使用 COCOAPODS 引入,虚拟机测试没有问题,真机无法测试

错误信息:

‘Pods/UmengSocial/Umeng_SDK_Social_iOS_ARM64_4.3/UMSocial_Sdk_Extra_Frameworks/LaiWang/libSocialLaiWang.a(LWApiRequest.o)’ does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

解决方法:

1.找到TARGETS下的Build Settings;

2.搜索Bitcode,设置为NO;
25.

cell重用问题,cell上的控件点击后改变状态或者值,当时有效,活动后出现错乱。

解决方案:用字典将点击的cell的row当成KEY值,状态或者值当成value存起来,在cellForRow方法里,根据字典里面的key值去设置对应的cell的状态或者值。
26.

tableView的header如果想设置高度为0,不能return 0,这时会有高度。可以设置成0.01。
27.

text 文本无法实现文字间距 可以使用 attributedText

//字间距

[attributedStr addAttribute: NSKernAttributeName value: @1 range: NSMakeRange(0, healthInformation.description_string.length)];
28.

定义static类型变量应该在本文件内使用,文件之间无影响,但是,可能会出现缓存问题报错,建议不要重复命名.显示错误不会正确提示,很难找
29.

const修饰的常量的值不能修改,同个工程中不能出现两个一样的常量名。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值