iOS开发——完整项目实战OC篇&百思不得姐第九天

百思不得姐第九天

一:点语法

点语法的本质是生成发送消息或者生成setter方法

二:获取手机时间的年和对应时间年是否一样

比如下面常见时间处理

方法1:(需要分别比较年月日)

方法2:(好处就是可以同时随便比较不同年月日)

如果时同一天就需要处理不不同的值

或者

最后一个昨天:

最终日期处理

三:Cell循环利用中,不使用缓存池中获取的cell的内容,

判断对应的类型,根据类型显示或者隐藏

四:新方法

传入字体和规定的矩形框计算,文字的高度

使用如下:

五:禁止每次计算cell高度

1:字典-一对一

2:模型中新增属性

判断是否为0,就是是否创建:

六 :cell中对应显示的内容开始不正确,拖动之后再回来又显示完全。

可能是对应设置frame的位置有问题,所以解决问题:

把对应frame的设置放到layoutSubView里面设置

七:打印约束错误提示,但是Xib中又不提示(错误或者警告)

注意点:autorResizeMask(自动修改)

八:根据图片拓展名实现显示和隐藏对应的图片(按钮)

九:SDWebimage图片类型

十:保存图片到相册

十二:参数越界(保存或者获取相册的时候)

具体分析

解决办法:再保存或者获取相册的时候比如

十三:保存或者获取自定义相册:(详细:http://www.cnblogs.com/iCocos/p/4705585.html

相关属性

原始图片:

缩略图

十四:创建自定义相册并且保存图片到里面

存在问题:

1:保存不能进去对应的相册

属性纪录ALAssetsLibrary就可以

2:有时候可能会重名,这个时候就不能返回创建的名字,所以我们需要做的是如果已经存在文件或者是否删除

enumerate。。block遍历所有组的名字,并且对应的名字,然后停止遍历。

再上面的判断里面调用一下那个方法

最后再failsure中实现上面的创建于保存

github有个好用的库可以试试:ALAssetsLibrary+CustomPhotoAlbum

十五:程序启动与Home

第一次启动

程序退出

按Home键回到后台(第一个方法我们双击Home的时候调用)

点击App返回前台

十六://替换回车符和空格

string =[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

if ([string isEqualToString:@""]) {

return;

}

时间: 2024-10-09 08:52:38

iOS开发——完整项目实战OC篇&百思不得姐第九天的相关文章

iOS开发——完整项目实战OC篇&百思不得姐第四天

iOS开发——完整项目实战OC篇&百思不得姐第四天 上午 一:自定义按钮使用九宫格布局 二:控件不能点击 三:获取用户点击了那个按钮 四:调整按钮内部控件的位置:主流->上下 五:不能直接使用self.navigationController中或者View中获取导航控制器 方法一: 方法二: 六:布局取整 1 // 总行数 2 3 // NSUInteger rows = sqaures.count / maxCols; 4 5 // if (sqaures.count % maxCols)

iOS开发——完整项目实战OC篇&百思不得姐第十一天

百思不得姐第十一天 一:模型中没有ID这个属性 为模型增加一个属性ID,设置名字替换 /** id */ @property (nonatomic, copy) NSString *ID; 替换: + (NSDictionary *)replacedKeyFromPropertyName {     return @{@"ID" : @"id"}; } 二:错误的将数组当作字典来用(其实就是没有数据,比如刷新数据已经没有了,或者直接就是0) 通过堆栈定位错误 最后一

iOS开发——完整项目实战OC篇&百思不得姐第一天

百思不得姐第一天 做好准备,我们要开干了...... 先声明,我不过给出过多的代码实现,除非是一些重要的(开发中常用的),或者是比较难理解的. 主要介绍一些思路和简单功能的总结,还有一些遇到的错误及处理! 上午 一:修改项目名称(之前是Buble DisplayName) 二:删除(没有launchXIB的时候会显示界面错误),再iOS8以后屏幕的显示跟启动图片有关 需要删除对应,并且设置launchImages 或者我们可以自己在images.xcasesets中新建我们的launchImag

iOS开发——完整项目实战OC篇&百思不得姐第八天

百思不得姐第八天 上午 一:监听ScrollView停止两种方法 代码实现滚动的时候:必须要有动画 拖拽实现滚动的时候 二:ScrollView中,对应的X/Y宽高都相等的时候frmae就等一bounds 三:判断View是否在对应的View上面 1:判断父控件 2:看Window是否有值 3:是否创建加载 四:autormaticllyAdjustScrollViewInsets 五:内边距设置 1:tableView尺寸还是屏幕的尺寸(高度) 2:不被导航栏河tabBar挡住(用户能看齐所有

iOS开发——完整项目实战OC篇&百思不得姐第五天

百思不得姐第五天 上午 一:蒙板 tabBarController:addsubViews Window:rootViewController Modal:presentViewController(rootViewController) 二:显示界面不是想要的效果 由于是使用Xib所以默认在ViewDidLoad中的frame是对应Xib的frame:(600,600) 我们如果要实现布局应该在-viewDidLayoutSubViews实现 但是如果真的要在ViewDidLoad里面实现我们

iOS开发——完整项目实战OC篇&百思不得姐第三天

百思不得姐第三天 上午 错误:键盘处理 设置cell的分割线 方法一:添加一个View再上面 方法二:修改对应的Frame 拦截系统frame的设置,根据需求修改对应的值 不管别人传什么进来原值都不变,使用我们默认的值 优化 控制器挂掉取消 AFN内部实现 直接终止请求 暂停请求 取消请求总结 AFN返回码 debug不能全为小写 两者不同,下面的带IBOutlet的内部会隐士的强引用着他 所以调用方式是先打印后面的,就是说走完第一行之后并且没有销毁,等}走完之后就销毁 下午 设置圆形图片的简单

iOS开发——完整项目实战OC篇&百思不得姐第二天

百思不得姐第二天 上午 一调用父类先后顺序问题 二:手势滑动 解决问题 1 // 什么时候调用:每次触发手势之前都会询问下代理,是否触发. 2 // 作用:拦截手势触发 3 - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer 4 { 5 // 注意:只有非根控制器才有滑动返回功能,根控制器没有. 6 // 判断导航控制器是否只有一个子控制器,如果只有一个子控制器,肯定是根控制器 7 if (s

iOS开发——完整项目实战OC篇&百思不得姐第十天

百思不得姐第十天 一:设置时间的显示 显示如下 二:MJExtension类型(名字)的指定——映射 1.在模型实中 2.字典转模型中 三:常见问题 问题1:多个对一个 有时候可能会有多个属性对应一个名字的时候我们就需要使用的到数组 问题2:子模型中的名字 问题3:返回复杂的数据(比如在一个字典里面还有一个字典再在里面有一个url数组) 统一处理 四:模型中嵌套模型:数组中存放模型(模型里面有数组数组里面又装着模型) 或者在代理或在一个独立的文件中的load方法中 五:没有注释 没有参与编译 @

iOS开发——完整项目实战OC篇&百思不得姐第六天

百思不得姐第六天 上午 一:使用Xib加载View 一般我们直接在分类里面,因为Xib加载的代码都是一样 二:键盘的两个常见属性 inoutAccessoryView inputView 三:切换系统和自定义键盘的简单使用方式,是不是很变态 根据使用的键盘判断类型并且切换 四:使用动画的方式,其实就是设置切换的时间就可以了 五:特殊需求,直接总定义并且添加View(不使用inoutAccessoryView) 使用通知实现工具条跟着键盘的移动:(上移键盘的高度) 1:改变Y值,上下改变Y值->使