摘要: 程序一启动,首先会来到Main函数,在Main函数里创建UIApplication对象。1.创建UIApplication对象、2.创建UIApplication的代理对象----->YGQAppDelegate3.开启了一个消息循环 *每监听到对应的系统事件时,就会通知YGQAppDelegate4. 为应用程序创建一个UIWindow对象5.加载info.plist文件,读取最主要的Storyboard文件的名称6.加载最主要的storyboard文件,创建白色箭头所指的控制器对象7.并且设置第6步创建的控制器为UIWindow的rootViewController属性(根控制器)8 阅读全文
posted @ 2013-12-09 21:18 nx的封装 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 代理 在IOS开发中,代理很重要,代理是一对一的。当你在一个文件中做了某件事情,想告诉其它的文件,这时要用到代理。 使用场合 专业术语:当A对象发生了一些事情,想告诉B对象,就然B成为A的代理 B对象想监听A对象发生的一些事情,也让B成为A的代理。 1.代理一般要定义一份协议: @protocol heardViewDelegate - (void)heardViewClick;//此方法代理必须实现如果想要代理不实现也可以,需要在方法前面加上@optional @end 2.在头文件中声明一个代理属性 @property (nonatomic, w... 阅读全文
posted @ 2013-12-05 20:24 nx的封装 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 通知 1.建立通知中心 NSNotificationCenter *center = [NSNotificationCenterdefaultCenter]; 2.利用通知中心发通知 2.1创建一个通知对象 NSNotification *note = [NSNotificationnotificationWithName:@"tech_new"object:tx]; 2.2利用通知中心,将这则通知发出去 [center postNotification:note]; 3.监听通知中心发出的通知 [center addObserver:p selecto... 阅读全文
posted @ 2013-12-05 12:35 nx的封装 阅读(163) 评论(0) 推荐(0) 编辑
摘要: UITableView在ios开发中,很重要,它的实现只要有两个部分组成。第一:数据源方法 第二:代理方法。下面我们就详细的介绍一些数据源和代理方法的使用:1.数据源方法->常用的5个数据源方法 在初始化后的tableView中,有两个数据源方法必须实现。 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;//返回表格中有多少行 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRow. 阅读全文
posted @ 2013-11-29 22:28 nx的封装 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 首先找8张jpg的图片,将它的名字分别设置为01.png......08.jpg,然后将代码运行,就可看见效果- (void)viewDidLoad{ [superviewDidLoad]; _scrollView = [[UIScrollViewalloc]init]; //设置scrollview的可视范围 _scrollView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height); //1.创建UIImageView用来显示在UIScrollView上 CGFloa... 阅读全文
posted @ 2013-11-27 22:41 nx的封装 阅读(643) 评论(0) 推荐(0) 编辑
摘要: 由于注释写的比较全面,在这我就把原码拿过来了。- (void)viewDidLoad{ [superviewDidLoad]; //1.创建scrollview UIScrollView *scrollView = [[UIScrollViewalloc]init]; [self.view addSubview:scrollView]; //2.创建imageview 将imageview添加到scrollview上进行显示,因为scrollview上不能显示图片 NSString *imageName = [NSStringstringWithFormat:@"big.jpg&qu 阅读全文
posted @ 2013-11-27 19:31 nx的封装 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 在开发中,很多时候需要随机生成几行几列,那么就要用算法,其实这个是有规律的。今天,我们一起探讨下,有不对或者更简单的,望大家多多指教。如题:请生成一个3*3的按钮 //计算按钮之间的间距 CGFloat spacex = (frame.size.width - 3 * kBtnW)/(3 + 1 +1.0); CGFloat spacey = (frame.size.height - 3 *kBtnH)/(3 + 1+1.0); //列 int cloS = 3; //行 int rowS = 3; for (int i = 0; i < 9; i++) { int clo... 阅读全文
posted @ 2013-11-23 23:26 nx的封装 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 1.block可以用来保存一段代码,或者用来封装一段代码。--->代码段,代码块。2.block的标志是^3.block跟函数很像 可以保存代码; 可以有返回 值; 也可以有行参; 调用方式一样;4.定义一个block #pragma mark 不带参数的block void (^outputblock)() = ^{ NSLog(@"------------"); }; outputblock(); }5.带行参的block #pragma mark - 带参数的block int (^sumblock)(int, ... 阅读全文
posted @ 2013-11-23 21:06 nx的封装 阅读(688) 评论(0) 推荐(0) 编辑
摘要: 1.在开发中,如果你的数据不多,但是繁杂,这时,我们可以考虑用plist来解决我们的问题.为了提高性能通常将加载plist文件放在viewdidload方法中。加载一个plist文件的时候,会返回一个plist的根节点对象(Root),这个根节点对象是什么就用什么来加载(一般是NSArray或者NSDictionary)。 2.NSBundle的使用 1>利用NSBundle可以访问某个资源包的内容 2>如果访问软件中最主要资源包的内容,应该用mainBundle NSBundle *bundle = [NSBundle mainBundle]... 阅读全文
posted @ 2013-11-23 00:08 nx的封装 阅读(218) 评论(0) 推荐(0) 编辑
摘要: UIView的transform属性 1.transform返回的是一个CGAffineTransform,它主要用来设置控件的形变状态(旋转和形变)。 2.创建CGAffineTransform函数 * CGAffineTransformMakeScale(CGFloat sx, CGFloat sy) 创建一个x、y方向的缩放比例分别为sx、sy的形变值 * CGAffineTransformMakeRotation(CGFloat angle) 创建一个旋转角度为angle的形变值 * CGAffineTran... 阅读全文
posted @ 2013-11-22 23:48 nx的封装 阅读(306) 评论(0) 推荐(0) 编辑