文档章节

iOS基础篇2

48度爱的等待
 48度爱的等待
发布于 2015/09/09 10:33
字数 2945
阅读 63
收藏 3

1、9大基本数据类型

    //    short:短整型 ,2字节                %d

    //    int:整型 ,4字节                         %d

    //    long:长整型,4字节(32位机,4字节;64位机 8字节)   %d

    //    long long:长长整型 ,8字节         

    //    float :单精度浮点型,4字节           %f

    //    double :双精度浮点型,8字节       

    //    Byte:字节   ,1字节                 

    //    BOOL:布尔 (YES ,1;NO ,0) ,1字节  ,为赋值的话 初始值为 0   

    //    char:字符  1字节

         //        对象类型     %@     

        //              内存地址  %p         

 

2、方法名命名规则:首字母小写,后面的每个单词首字母大写。布尔型的用 BOOL 来定义。

         工程命名规则:首字母大写,后面的每个单词首字母都大写。

 

3、(-)号方法,也叫实例方法,由类的对象去调用,(+)号方法,也叫类方法,由类去调用

 

4、多参数方法的定义:-(void)方法名:(参数类型)参数名称  第二个参数的别名:(参数类型)参数名称;

 

5、  .m:main 主文件,方法的实现

           .h:header 头文件,声明属性、方法

 

6、单行注释的快捷键Win+/,多行注释/* */

 

7@end 为类声明结束的关键字

 

8@interface ?NSObject   ?@interface Student : NSObject

 

9、使用一个类,必须先导入头文件

 

10、打点调用和[ ]方法调用

                   zhangSan.age = 18 ;

                   [zhangSan setAge:18];

 

11、分配内存的时候,先进行初始化,  分配内存

 

12、调用父类中的初始化方法                             ????

         self = [super init];

 

13、子类里面 不能再声明和父类一样的属性,可以声明和父类同名的方法

         /*继承:

1)子类可以继承父类所有的属性、方法(父类有的,子类都有);

2)子类可以重写父类的方法;

3)子类可以扩充自己特有的属性、方法;

 */

 

14

ipad1,2 : 1024 * 768   9.7寸

ipad3 ,4 : 2048 * 1536

ipad mini :1024 * 768    7.9寸

ipad mini :(retina)2048 * 1536

ipad air (ipad 5) :2048 * 1536   9.7寸

ipad air 2  2048 * 1536   9.7

模拟器: 1024*768

 

iphone 模拟器尺寸(编程)  真机分辨率:

 

                                                 simulator                device   

iPhone 4 4s(3.5 inch)         320*480 points            640*960 px

iPhone 5 5s 5c(4 inch)                     320*568                                         640*1136

iPhone    6   4.7inch                               375*667                                         750*1334

iPhone    6 plus   5.5inch                    540*960                                        1080*1920                                           

 

15               

            编程尺寸                             真机分辨率

iPhone4:320 * 480                 320 * 480     3.5inch

iPhone4S:320 * 480               640 * 960     3.5inch

 

iPhone5/5S/5C:320 * 568        640*1136     4 inch

 

iPhone 6          667 * 375          1334 *  750     4.7 inch

iPhone 6 plus   960 * 540          1920 * 1080   5.5 inch

 

16、双击获得一个目标,三击获得整行目标

 

17、ID的意思???

 

—————————————————————————————

1UIlabel

          UILabel * 标签名= [[UILabel alloc]init];

         标签名.frame = CGRectMake(x,y,宽,高);

         //  UILabel * 标签名 =[[UILabel alloc]initWithFrame : CGRectMake(x,y,宽,高)];

         标签名.text = @“标签名称”;

         标签名.font = [UIfont  systemFontOfSize:字体号];

      标签名.textcolor = [UIcolor 颜色];

         标签名.backgroundColor = [UIcolor 颜色];

         标签名.shadowColor = [UIColor  颜色] ;      // 设置阴影颜色

         标签名.shadowOffset = CGSizeMake(1,1) ;   // 设置阴影的偏移量

         标签名.textAlignment = NSTextAlignmentCenter;(默认为左对齐)

         标签名.numberOfLines = 0;  默认一行,0表示无数行,只有设置了行数,才可以换行。

        

         字符串1 = [字符串2  stringByAppendingString : 字符串3] ;//给字符串添加一个字符串

 

    [self.window addSubview:标签名];

 

2、UIImageView

         UIImageView * 图片框名 = [[UIImageView alloc]init];

         图片框名.frame = CGRectMake(x,y,宽,高);

         图片框名.image = [UIImage imageNamed:@“图片名称.png”];

         [self.window addSubview:图片框名];

 

3、UITextField(分配内存,位置,显示)

         UITextField * 文本框名 = [[UITextField alloc]init];

         文本框名.frame =CGRectMake (x,y,宽,高);

         文本框名.placeholder = @“提示信息”;

         文本框名.secureTextEntry = YES ;      //安全的文本输入,用于输入密码

//设置键盘类型  

         文本框名.keyboardType = UIKeyboardTypeNumberPad(键盘类型);

//给textfield绑定一个事件

         [文本框名 addTarget: self  action:@selector(方法名) forControlEvents : UIControlEventEditingDidEndOnExit ] ;

//   UIControlEventEditingDidEndOnExit  点击键盘上的return键,结束文本框的编辑,这样键盘就会自动的下去。

         文本框名.borderStyle = UITextBorderStyleRoundRect;  //RoundedRect  圆角矩形

         [self.window addSubView:文本框名];

 

4、UIbutton(分配内存,位置,名称,事件,显示)

         UIButton * 按钮名 = [[UIButton alloc]init] ;//不建议用这种方式创建UIButton,也不一定

         按钮名.frame = CGRectMake(x,y,宽,高);

         按钮名 .background = [UIColor 颜色];

         [按钮名  setTitle:@“状态名称1”forState: UIControlStateNormal];

         [按钮名 setTitle:@“状态名称2”forState: UIControlStateHighlighted];

         [按钮名  setImage:@“图片1”forState: UIControlStateNormal];

         [按钮名 setImage:@“图片2”forState: UIControlStateHighlighted];

         [按钮名  setBackgroundImage:[UIImage imageNamed:@“图片名    称.png”]forState: UIControlStateNormal];

         [按钮名  setBackgroundImage:[UIImage imageNamed:@“图片名    称.png”]forState: UIControlStateHignlighted(方法名) forControlEvents:]; ???

         [按钮名 addTarget :(代理对象,一般为self) action : @selector(方法名)forControlEvents:(UIControlEventTouchUpInside)] ;

         [self.window addSubview :按钮名]; 

 

5、button的另一种形式(这种形式创建的按钮)

         UIButton * 按钮名 =[UIButton buttonWithType: UIButtonTypeRoundedRect或UIButtonTypeSystem];

         //按钮名.buttonType = UIButtonTypeContactAdd;   这个句子有错误,buttonType为只读属性,不能赋值

 

6、键盘下去的方式

         [self.window endEditing :YES];

 

7、触屏的四种方式

         -(void)touchesBegan:(NSSet *)touches withEvent : (UIEvent *) event

         {

                   NSlog(@“触屏开始了”);

         }

         -(void) touchesEnded : (NSSet * )touches withEvent : (UIEvent * ) event

         {

                   NSlog(@“触屏结束了”);

         }

         -(void) touchesMoved : (NSSet * )touches withEvent : (UIEvent * ) event

         {

                   NSlog(@“触屏移动了”);     //飞行射击里面有用到

         }

         -(void) touchesCanelled : (NSSet * )touches withEvent : (UIEvent * ) event

         {

                   NSlog(@“触屏取消了”);

         }

 

8、产生随机数

         arc4random();   unsigned int 无符号整形

 

9、让window可见

         [self.window makeKeyAndVisible];

 

10、return YES;

 

11、(猜数字游戏)

         获得输入框中的内容    NSString * 字符串名 = 输入框名.text;

         把字符串转换成整数    Int 整数名 = [字符串名   intValue];

 

———————————————————————————————

1、判断字符串是否相等

         isEqualToString

 

2、警示框 UIAlertView

         UIAlertView * 警示框名 = [[UIAlertView alloc] initWithTitle:@“标题” message: @“警示信息”delegate: 代理对象(一般为self) cancelButtonTitle:@“取消”

otherButtonTitles:@“确定”,…,nil

         [alert show];

 

3、从父视图中移除视图     [视图名   removeFromSuperview]

 

4、UIView的动画     (帧动画),动画只是一种过渡效果

         //开启动画[UIView beginAnimations:nil  context: nil  ];

         //持续时间[UIView setAnimationDuration:时间];

         //动画的代理方法 [UIView setAnimationDelegate:self ];

         // 设置动画翻转样式

         [UIView  setAnimationTransition :UIViewAnimationTransitionFlipFromLeft forView:( 针对哪个视图,一般为self.window )cache:(缓存YES /NO)];

//      如果cache设置成NO,则对于执行动画的转换过程中,会对每一帧图片进行更新,而且这种更新可能会明显的影响帧的速率。例如uiview上的按钮会慢慢显示出来,而不是一下子就显示出来。 ???

         //设置动画运动方式    [UIView setAnimationCurve : UIViewAnimationCurveEaseOut ] ;

    // (UIViewAnimationCurve)curve      弯曲   Ease 缓慢 舒缓

    // UIViewAnimationCurveEaseInOut,   在开始和结束的时候运动慢 // slow at beginning and end

    //    UIViewAnimationCurveEaseIn,  在开始的时候运动慢 // slow at beginning

    //    UIViewAnimationCurveEaseOut,  在结束的时候运动慢  // slow at end

    //    UIViewAnimationCurveLinear,   Linear 直线  匀速运动

 

         //动画停止 [UIView setAnimationDidStopSelector:@selector(方法名)];

         //动画自动转向 [UIView setAnimationReapetAuthoreverses : YES/NO ];

         //提交动画[UIView commitAnimations];

         注:动画代理方法和停止是配套的,开启动画和提交动画是配套的

 

//动画延时方法

[self  performSelector:@selector(方法名)  withObject:( id ) afterDelay: ( NSTimeInterval ) ];

 

 

         另一种创建数组图片动画的方式

         对象名.animationImages = [[NSArray alloc]initWithObjects : [UIImage imageNamed:@“图片1”],[UIImage imageNamed:@“图片2”],nil ] ;  //这种数组里只能包含图片对象

         对象名.animationDuration = 间隔时间;

         对象名.animationRepeatCount = “循环次数,0代表无限循环”;

         [对象名  startAnimation] ;

         //  [对象名  stopAnimation]  ;

 

5、alpha 透明度   0 -1

 

6、定时器 NSTimer

          [NSTimer scheduledTimerWithTimeInterval:(间隔时间) target:(目标,一般为self) selector :@selector(方法名) userInfo :(用户信息,一般为nil) repeater:(YES/NO)];//NO只会执行一次

//调用fire方法会让timer立即执行,不会等待第一次的间隔时间

         [定时器名 fire] ;   // 这句话是让执行到定时器的时候,立即开启定时器

//让定时器暂停  [定时器名  setFireDate:[NSDate distantFuture]];

//让定时器开始  [定时器名  setFireDate:[NSDate distantPast]];

//让定时器停止   [定时器名 invalidate];

 

7、数组(可变、不可变)

         不可变数组 NSArray,initwithobjects用多个对象初始化数组

         NSArray * 数组名 = [[NSArray alloc]initWithObjects :@“数组成员1”,@“数组成员2”,nil ];

         NSLog(@“%@”,数组名);   //  取所有数组成员

         /*取某一个对象

         NSString * 字符串名 = [数组名 objectAtIndex : 数组索引值] ;

         NSLog(@“%@”,字符串名);

 

         可变数组 NSMutableArray

         NSMutableArray * 数组名 = [[NSMutableArray alloc]initWithCapacity : 数组容量,可设置为0,随着数组容量的增加而增加。

         [数组名 addObject: 对象名];

//在某一个位置添加对象

         [数组名 insertObject :对象名 atIndex: 索引值];

//移除数组中的某一个对象

         [数组名 removeObject :对象名];

//返回数组中元素的个数

         [数组名 count];

 

 

8、拼接字符串的方法 stringWithFormat                    还有一种 intWithFormat

         NSString * 变量1 = [NSString stringWithFormat : @“图片名 %d ”, i  ] ;

         UIImage * 变量2 = [UIImage imageNamed : 变量1] ;

         将上面的两行合并起来

         UIImage * 变量2 = [UIImage iamgeNamed:[NSString stringWithFormat:@“图片名 %d”, i  ]] ;

         [数组名  addObject : 变量2 ] ;

 

 

9、泛型遍历数组

         for (NSObject * object  in  数组名)                                                                                                                                  

         {

                   语句1;

         }

 

10、(NSSet *)中的NSSet 类似于数组, touches 屏幕中  点的集合

 

11、tag值,UIView固有的属性,默认为0, 最好不要设置为 0

 

12、bounds 是以自身为参照坐标,自身的左上角为(0,0)

(UIImageView类型)名称1.bounds =CGRectMake(x,y,w,h);

 

————————————————————————————————————

1、获取按钮的tag值,并创建一个指针按钮来指向它

         UIButton * 按钮名 = (UIButton *)[self.window  viewWithTag : tag值] ; 

 

 

2、猜数字游戏:两个按钮绑定同一个方法,有2种方式实现区分按钮操作,(设置静态变量static  i)(设置tag值)一个按钮绑定两个方法,用这种方式实现(定义   BOOL  isYes==YES/NO 或者 BOOL  isAppear ==YES/NO)

 

 

 

}

1、用双重循环创建九宫格,按钮tag 设置:btn.tag = i * 3 + j ;

         用单循环创建九宫格,按钮 tag 设置 : btn.tag = i+1 ;

 

2、图片名.userInteractionEnable=YES;

 

3、控件.transform = CGAffineTransformMakeRotation(角度/180*M_PI);

 

4[UIView setAnimationRepeatAutoreverses:YES];——》动画回转

 

5、导航控制器(标记红色的为可能更改的地方

         //创建导航控制器

         UINavigationController  * 导航控制器名 = [[ UINavigationController  alloc] initWithRootViewController :viewController ];(viewController 是类名)

 

         self.window.rootViewController = 导航控制器名; //这句话有点不太理解???

 

         //导航条隐藏

         导航控制器名.navigationBarHidden = YES ;

 

         //设置视图控制器的标题,会自动居中显示在导航条上

         self.viewController.title = @“标题”;

 

         //跳转到某个新建的导航页

         viewController * 新建类变量名称 = [[ viewController  alloc ] init]; (viewController  是类名)

         [ self.navigationController  pushViewController : 新建类变量名称  animated : YES /NO ];

        

//跳回到根视图控制器

         [ self.navigationController popToRootViewControllerAniamted:(BOOL) ];

// pop 到指定控制器

         [ self.navigationController popToViewController : (UIViewController) animated: (BOOL)];

//self.navigationController.viewControllers可以返回当前导航控制器中的控制器们

         //  哪来的回哪去

         [self.navigationController popViewControllerAnimated:(BOOL)];

 

         //导航控制器间的传值

         NSArray * 数组名 = self.navigationController.viewControllers ;

         取出控制器的索引值 [ 数组名  objectAtIndex : 索引值 ] ;

 

         //在导航控制器的两边创建按钮

         UIBarButtonItem  * 左边按钮 = [[  UIBarButtonItem  alloc] initWithTitle : @“左边按钮名”style:UIBarButtonItemStylePlain   target : self     action : @selector (左边按钮方法) ];

         self.navigationItem.leftBarButtonItem = 左边按钮 ;

         // navigationItem :导航项    leftBarButtonItem : 左栏按钮项

 

         UIBarButtonItem * 右边按钮 = [[  UIBarButtonItem alloc] initWithTitle : @“右边按钮名”style: UIBarButtonItemStylePlain   target: self      action :@selector(右边按钮方法) ];

         self.navigatioItem.rightBarButtonItem = 右边按钮 ;

 

         //直接跳转到根视图控制器

         [self.navigationController   popToRootViewControllerAnimated:<#(BOOL)#>] ;

 

         →定义导航栏上左右按钮的几种形式(以右边按钮为例)

         1系统自带的样式

         // Custom 意思是自定义、、定义按钮为系统图表

         UIButton * 按钮名 = [ UIButton  buttonTypeWithType : UIButtonTypeInfoLight ] ;

         UIBarButtonItem * 右按钮名 = [[ UIBarButtonItem alloc]  initWithCustomView : 按钮名 ] ;

         self.navigationItem.rightBarButtonItem右按钮名 ;

 

         2用image定义按钮的形式

         //定义按钮为图片

         UIBarButtonItem * 右按钮名 = [[  UIBarButtonItem alloc ] initWithImage:[UIImage  imageNamed:@“图片名”] style : 1     target :self  action:@selector (方法名) ];

         self.navigationItem.rightBarButtonItem = 右按钮名 ;

        

         3选项卡代替按钮      (????)

         NSArray * 数组名 =[[  NSArray  alloc ] initWithObjects :[UIImage   imageNamed:@“图片名1”],[UIImage  imageNamed:@“图片名2”],nil ];

         UISegmentedControl * 名称 2= [[  UISegmentedControl  alloc]initWithItems :数组名 ];

         名称2.segmentedControlStyle = UISegmentedControlStyleBar ;

 

         //设置选项卡按钮能弹起

         名称2.momentary =YES ;

         UIBarButtonItem  *  右按钮名 =[[  UIBarButtonItem  alloc] initWithCustomView : 名称2 ];

         self.navigationItem.rightBarButtonItem = 右按钮名 ;

        

         4把导航条中间的title换成选项卡,并可以提示信息

         UISegmentedControl  *

        

6、滚动条(UIScrollView)

         UIScrollView *  滚动条名 = [ [ UIScrollView  alloc] init ];

 

         滚动条名.delegate  = self ;    ???????????

 

         滚动条名.center = CGPointMake(x,y);

         滚动条名.bounds = CGRectMake ( 0,0,width,height ) ;

         滚动条名.contentSize  = CGSizeMake (图片尺寸 * 图片数 , height ) ;

//使每一个每页明确

         滚动条名.pagingEnabled = YES/NO ;

//设置滚动条下面的指示器条是否可视

         滚动条名.showsHorizontalScrollIndicator = YES/NO ;

         [ self.view  addSubview:滚动条名 ]; 

 

 

 

 

 


© 著作权归作者所有

下一篇: iOS基础篇1
48度爱的等待
粉丝 0
博文 5
码字总数 19294
作品 0
周口
程序员
私信 提问
【书坊赠书福利——第二期】《iOS 8开发指南》

本周是人邮IT书坊赠书的第二期,第一期参与度极高,微信君在此感谢你们的支持,第一期获奖赠书已全部寄出。 本周赠品 本周,微信君给大家推荐@人民邮电出版社-信息技术分社 刚刚上架的新书《...

生气的散人
2014/09/23
387
0
iOS 7开发快速入门随书资料

《iOS 7开发快速入门》全面、系统地介绍了iOS 7开发技术。全书共分3篇17章。 第1篇 包括第1~4章,介绍了iOS 7的新功能、iOS 7的开发工具Xcode 5、第一个iOS 7应用程序的开发、Objective-C语...

请叫我院长
2014/02/19
825
1
iOS开发者值得关注的网站/博客 推荐

综合社区 1. Cocoa China 官方标语:全球最大的苹果开发中文社区 - "获取、解答、分享" 入门iOS开发时就知道的网站,不过个人感觉网站整体有点粗糙,内容多而杂,但不精致。例如,上论坛吧,很...

启发禅悟
05/03
0
0
10个优秀Objective-C和iOS开发在线视频教程

如果你自己开发iOS应用,你肯定会发现网上有很多资源。学习编程的一个最好的方法就是自己写代码,而开始写代码的最快的方式就是看其他人怎么写。我们从海量视频和学习网站中整理出了我们认为...

mingxun
2014/05/09
203
0
如何判断你是合格的高级iOS开发工程师?

前言 随着移动互联网的高速发展泄洪而来,有意学习移动开发的人越来越多了,竞争也是越来越大,需要学习的东西很多。如何才能在激烈的移动开发者竞争中一枝独秀,成为一名真正合格的高级iOS...

_小迷糊
2018/05/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

HashMap源码分析

read

V丶zxw
44分钟前
5
0
Python字符串或JSON字符串转字典dict、列表list

有3种方法 1、使用ast模块 >>> import ast>>> s = '["test",1]'>>> ast.literal_eval(s)['test',1]>>> s = '{"test":1}'>>> ast.literal_eval(s){'test': 1} 2、eval函数,这个......

编程老陆
今天
5
0
【JS复习笔记】03 继承(从ES5到ES6)

本文转载于:专业的前端网站➫【JS复习笔记】03 继承(从ES5到ES6) 前言 很久以前学习《Javascript语言精粹》时,写过一个关于js的系列学习笔记。 最近又跟别人讲什么原型和继承什么的,发现...

前端老手
今天
8
0
简单动态网站搭建

如何在windows服务器上配置wordPress和discuz 网站建设中的概念讲解 网站建设的基础操作 网站程序的基础使用 网站程序的优化 简单动态网站搭建 软件部署 域名和主机的购买 域名解析 环境部署...

达达前端小酒馆
今天
6
0
Java每日面试题_03

15、构造器是否可被override constructor(构造器)不能被继承,所以不能被override(重写),但是可以被overloading(重载)。 16、抽象类和接口的区别 抽象类是什么 含有abstract修饰符的class即...

庭前云落
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部