ios 写项目的时候遇到的问题及解决方案(2)

11.自适应文本高度

1 NSDictionary *attributes = @{NSFontAttributeName: [UIFont systemFontOfSize:14]};
2
3 CGRect rect = [text boundingRectWithSize:CGSizeMake(ViewWidth, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin attributes:attributes  context:nil];
4
5 return rect.size.height;

12 iOS9 适配设置

实际上在Xcode 7中,我们新建一个iOS程序时,bitcode选项默认是设置为YES的。我们可以在”Build Settings”->”Enable Bitcode”选项中看到这个设置。

要么让第三方库支持,要么关闭target的bitcode选项。

13.   iOS9 HTTPs转HTTP

 1 <key>NSAppTransportSecurity</key>
 2
 3     <dict>
 4
 5         <!--Connect to anything (this is probably BAD)-->
 6
 7         <key>NSAllowsArbitraryLoads</key>
 8
 9         <true/>
10
11     </dict>

14.截取字符串

[str substringFromIndex:6];

substringWithRange:NSMakeRange(4,2)截取字符串的一部分,从第4位开始,截取两位

substringToIndex: n截取到第几位

(substringFromIndex:n)字符串从第n 位开始截取,直到最后

16.NSScanner: nil string argument

错误原因是我们在调用某个方法的时候,传入了一个空字符串(注意区别于字符串内容为空)作为方法参数。

我从服务器上获取某字符串数据,考虑到有些对象不含这个字符串变量,我在使用时先判断该字符串是否为空,例如:

假设,这个字符串名叫str,

先判断if(str!=nil){

//do something

double data=[str doubleValue];

}

但是,当数据为空时依旧报错,

苹果官方文档时,有这么一个代码:

  1. id aValue = [arrayWithNull objectAtIndex:0];
  2. if (aValue == nil) {
  3. NSLog(@"equals nil");
  4. } else if (aValue == [NSNull null]) {
  5. NSLog(@"equals NSNull instance");
  6. if ([aValue isEqual:nil]) {
  7. NSLog(@"isEqual:nil");
  8. }
  9. }
  10. // output: "equals NSNull instance”

虽然最后我的问题解决了,我在if判断中用

  1. if(![tmpNewsModel.latitude isEqual:[NSNull null]]){
  2. //do something
  3. }

问题是解决了,但是还不太理解nil和NSNull的区别?

17.iphone 尺寸

18.修改mac host文件

sudo nano /etc/hosts

同样是输入密码,打开 hosts 文件,根据你的需要对该文件进行编辑,编辑完毕之后按 ctrl+o 保存,

出现 File Name to Write: /etc/hosts 的时候按回车确认,再按 ctrl+x 退出即可。

19. IOS8 设置TableView Separatorinset 分割线从边框顶端开始

经过测试加入下面方法 在ios7 8上都可以正常工作

 1 -(void)viewDidLayoutSubviews
 2
 3 {
 4
 5     if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) {
 6
 7         [self.tableView setSeparatorInset:UIEdgeInsetsMake(0,0,0,0)];
 8
 9     }
10
11
12
13     if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) {
14
15         [self.tableView setLayoutMargins:UIEdgeInsetsMake(0,0,0,0)];
16
17     }
18
19 }
20
21
22
23 -(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
24
25 {
26
27     if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
28
29         [cell setSeparatorInset:UIEdgeInsetsZero];
30
31     }
32
33
34
35     if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
36
37         [cell setLayoutMargins:UIEdgeInsetsZero];
38
39     }
40
41 }

20.url   里面不能有中文字符,需转换否会请求出错

时间: 2024-10-28 11:32:52

ios 写项目的时候遇到的问题及解决方案(2)的相关文章

ios 写项目的时候遇到的问题及解决方案

1.解决headerView不随cell一起滚动的问题 解决方案:myHeaderView为自己创建的view加在tableHeadView上, self.tableView.tableHeadView=myHeaderView; 2.去掉tableView 多余的表格线 解决方案:tableView.tableFooterView=[[UIView alloc]init]; 3.UIColor 的RGBA定义颜色 (colorWithRed) 解决方案:做界面的时候常常会用到UIColor这个

GitHub上有很多不错的iOS开源项目

GitHub上有很多不错的iOS开源项目,个人认为不错的,有这么几个:1. ReactiveCocoa:ReactiveCocoa/ReactiveCocoa · GitHub:GitHub自家的函数式响应式编程范式的Objective-C实现,名字听着很高大上,学习曲线确实也比较陡,但是绝对会改变你对iOS编程的认知,首推之.2. Mantle:Mantle/Mantle · GitHub:又是GitHub自家的产物,轻量级建模的首选,也可以很好的配合CoreData工作.3. AFNetwo

iOS开发项目篇—28自定义UITextView

iOS开发项目篇—28自定义UITextView 一.简单说明 1.要实现的效果 2.分析 (1)UITextField 1.最多只能输入一行文字 2.能设置提醒文字(placehoder) 3.不具备滚动功能 (2)UITextView 1.能输入N行文字(N>0) 2.不能设置提醒文字(没有placehoder属性) 3.具备滚动功能 需求:技能输入多行文字,又具备文字提醒功能. 这里选择自定义一个类,让其继承自UITextView类,为其添加一个设置文字提醒的功能. 二.实现 自定义UI控

iOS开发项目篇—36封装微博业务

iOS开发项目篇—36封装微博业务 一.简单说明 1.请求参数面向模型 2.请求结果面向模型 3.对控制器来说应该屏蔽业务细节.不让控制器关心(知道)业务细节,它只需要知道自己在做某个业务 @通过一个专门的业务处理类:处理微博业务细节 说明: 业务:加载新的微博首页数据 实现:给新浪服务器发送一个GET请求 业务:加载更多的首页微博数据 实现1:给新浪服务器发送一个GET请求 实现2:去沙盒中加载以前离线缓存的微博数据  二.实现 1.新建一个微博业务处理类,继承自NSObject 微博业务处理

iOS开发项目篇—34获取用户信息

iOS开发项目篇—34获取用户信息 一.简单说明 需求:获取当前用户的昵称 ,需要获取当前登录用户的个人信息. 查看接口 要求传递的参数 这里要获取的时用户的昵称(所以使用用户id作为参数传入) 二.实现代码 1 - (void)viewDidLoad 2 { 3 [super viewDidLoad]; 4 5 //设置导航栏内容 6 [self setupNavBar]; 7 8 //集成刷新控件 9 [self setupRefresh]; 10 11 //设置用户的昵称为标题 12 [s

iOS开发项目篇—25字典转模型第三方框架、运行时机制简介

iOS开发项目篇—25字典转模型第三方框架.运行时机制简介 一.使用第三方框架完成字典转模型 1.获取框架 在www.code4app.com网站中,搜索字典转模型 可以点击下载代码进行下载,也可以带github上去下载. 管理框架的好处:点击刷新按钮会刷新所有的项目. 2.使用 1.导入第三方框架 2.使用示例 错误提示: 在刷新的时候直接使用一行代码即可: 1 /**加载最新微博数据*/ 2 -(void)loadNewStatus 3 { 4 //1.获得请求管理者 5 AFHTTPReq

iOS开发项目篇—21抽取工具类

iOS开发项目篇—21抽取工具类 一.抽取宏 把和应用相关的信息抽取出来 App Key:1972915028 App Secret:b255603c4dfd82b4785bf9a808ce2662 回调地址:http://www.cnblogs.com/wendingding/ (1)appkey和回调页面在很多地方都要用到 (2)如果是不同应用的话,只需要把这几个参数换掉就可以了.把它们抽取成一个宏,写到pch文件中. 项目的PCH文件 1 #import <Availability.h>

iOS开发项目篇—47Toolbar工具条

iOS开发项目篇—47Toolbar工具条 一.基本设置 说明:完成微博cell中toolbar的基本设置(转发数.评论数.赞) 实现代码: YYStatusToolbar.m文件 1 // 2 // YYStatusToolbar.m 3 // 4 5 #import "YYStatusToolbar.h" 6 7 @interface YYStatusToolbar () 8 /**用来保存两条竖线*/ 9 @property(nonatomic,strong)NSMutableA

iOS开发项目篇—39获取用户未读的微博信息(信息提醒)

iOS开发项目篇—39获取用户未读的微博信息(信息提醒) 一.简单说明 1.实现效果       2.实现 (1)新建一个类,封装请求 查看新浪官方要求的请求参数 该类中的代码设计 YYUnreadCountParam.h文件 1 // YYUnreadCountParam.h 2 //封装请求参数的类 3 4 #import "YYBaseParam.h" 5 6 @interface YYUnreadCountParam : YYBaseParam 7 /**uid true in