
IOS之UI
结合案例 全面 更好理解UI的内容
中意_中意
这个作者很懒,什么都没留下…
展开
-
断言
断言是所有 C 语言开发者的最爱断言能够在程序编码时提前预判必须满足某一个条件如果条件不满足,直接让程序崩溃,从而让程序员尽早发现错误断言仅在调试时有效断言可以简化程序的分支逻辑简单使用+ (void)testBlock:(void (^)())finished{ NSAssert(finished != nil, @"必须传入block完成回调");}上面的代码是我在一个类中原创 2015-11-23 15:24:17 · 2319 阅读 · 0 评论 -
Runtime
有时候,某个控件的系统提供的属性,无法满足我们的需求,那么我们就急迫的去添加某个我们所需要的属性继承:继承的话,可以实现,但是有时候不太满足的我们所需 继承要改相应控件的class属性,若我们写出来的框架,想拿来就能直接使用,那么这个时候继承显得不是那么的合适这个时候,我们想到了分类,但是默认分类里边,不能添加属性,如果要添加,则要重新设置setter,getter方法这个时候runtime原创 2015-11-23 18:54:08 · 759 阅读 · 0 评论 -
如何删除数组中不需要的数据
在开发中,由于某些需求,会将数组中不需要的数据进行删除。但是问题来了,数组在遍历的时候,不能移除。如何解决?解决的办法:创建一个新的删除数组,用来保存需要删除的对象我们一开始存储0~20: for (NSInteger index = 0 ; index < 20 ; index ++) { [self.total addObject:@(index)]; }原创 2015-11-23 19:34:12 · 8234 阅读 · 0 评论 -
Copy And Strong
我们接着上面的解析XML 进行分析。若我们这时候把模型里面的name属性改为Strong@property(nonatomic,strong)NSString *name;那么我们先看一下结果: 这是由于什么原因造成的? 我分析一下:strong只是引用计数器加1,那么这个时候的name指向的那块内存区域现在是:(张三),还是这块内存区域,一直执行着,但是当我们遍历到teacher的时候,这个时原创 2015-11-26 11:52:57 · 548 阅读 · 0 评论 -
位移枚举
开发中,我们经常看到很多的位移枚举,一般来说,见到位移枚举,我们都是可以写多个的,用 | 来隔开,就能识别。其实按照习惯的惯例,我们通常看到枚举,看不懂,就写个0,其实这样不好,还是要理解一下枚举的内容,是不是我们想要的那么我们来模拟一下,看位移枚举,究竟是个什么东西自定义一个枚举根据位移的常识,我们得出了偏移后的数值typedef NS_OPTIONS(NSUInteger, ActionT原创 2015-11-26 12:13:47 · 4174 阅读 · 0 评论 -
实现应用管理 (MVC ,xib,懒加载)
Model类进行了数据的封装 .m文件里面#import "ZYApp.h"@implementation ZYApp//封装数据 + (NSArray *)apps{ return [NSArray arrayWithContentsOfFile: [[NSBundle mainBundle]pathForResource:@"app.plist" ofType:nil]];}@原创 2015-10-11 00:04:11 · 1093 阅读 · 0 评论 -
图片浏览器
首先:storyboard里面有这么些个控件:可以拖控件,也可以代码实现 然后我们准备了一个plist文件我们在ViewController.m中写了如下的代码#import "ViewController.h"@interface ViewController ()- (IBAction)left;- (IBAction)right;//页码@property (weak, nonato原创 2015-10-08 00:14:09 · 668 阅读 · 0 评论 -
plish文件的读取(NSBundle)
plish文件一般放置于NSBundle当前路径是开发者电脑的文件 全路径,而以后应用程序编译生成发布之后,是在iPhone上运行,也就意味着它应该去查找iPhone上德plist文件的全路径 NSBundle *bundle = [NSBundle mainBundle];接下来就是将根目录与文件名进行拼接 NSString *path = [bundle pathForResource:原创 2015-10-08 00:02:46 · 1509 阅读 · 0 评论 -
退出键盘 IBAction,IBOutlet
退出键盘 - (IBAction)calculate { //1.获取两个文本框的数据 int num1=[self.txt1.text intValue]; int num2=[self.txt2.text intValue]; //2.计算 int result=num1+num2; //3.显示结果 self.resultLbl.text原创 2015-10-06 23:45:50 · 627 阅读 · 0 评论 -
frame | center |bounds |transform
frame修改控件的位置以及大小不能直接修改一个对象的结构体成员的属性值,但是你能直接修改一个结构体成员的属性值错误的写法self.iconView.frame.origin.y-=10应该这样写:CGRect temp=self.iconView.frame;temp.origin.y-=10;self.iconView.frame=temp;多控件共用一个事件方法–Tag值的使用-原创 2015-10-06 23:28:53 · 746 阅读 · 0 评论