UIKIT基础控件小结_第1页
UIKIT基础控件小结_第2页
UIKIT基础控件小结_第3页
UIKIT基础控件小结_第4页
UIKIT基础控件小结_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 TOC o 1-3 iOS开发概述 PAGEREF _Toc239068055 h 2UI基础控件 PAGEREF _Toc239068056 h 21.UILabel标签 PAGEREF _Toc239068057 h 22.UIImageView图像视图 PAGEREF _Toc239068058 h 23.UIButton按钮 PAGEREF _Toc239068059 h 34.UITextField文本框控件 PAGEREF _Toc239068060 h 35.UISwitch开关控件 PAGEREF _Toc239068061 h 46.UISlider滑块控件 PAGEREF

2、 _Toc239068062 h 47.UIStepper计数器控件 PAGEREF _Toc239068063 h 58.UISegmentControl选项卡控件 PAGEREF _Toc239068064 h 59.UIView PAGEREF _Toc239068065 h 5Foundation框架 PAGEREF _Toc239068066 h 61.NSString和NSMutableString PAGEREF _Toc239068067 h 72.NSNumber PAGEREF _Toc239068068 h 73.NSDate PAGEREF _Toc239068069

3、h 74.NSArray和NSMutableArray PAGEREF _Toc239068070 h 75.NSDictionary和NSMutableDictionary PAGEREF _Toc239068071 h 7MVC体系结构 PAGEREF _Toc239068072 h 8Model:数据模型 PAGEREF _Toc239068073 h 8View:视图 PAGEREF _Toc239068074 h 8Controller:控制器 PAGEREF _Toc239068075 h 8代理协议消息传递机制 PAGEREF _Toc239068076 h 8NSTimer计时

4、器 PAGEREF _Toc239068077 h 8声音和音效的播放 PAGEREF _Toc239068078 h 9声音 PAGEREF _Toc239068079 h 9音效 PAGEREF _Toc239068080 h 9UIKIT基础控件小结iOS开发概述cocos体系结构,一共有四层框架,要调用不同的功能,需要使用不同的框架。前期主要学习cocos touch层的UIKit框架iOS和android的对比iOS是基于UINX,用C语言开发的,直接与系统底层交互,性能高andorid是基于Linux,用Java语言开发,基于虚拟机运行,性能差UI基础控件1.UILabel标签作用

5、:显示文字属性:text属性:是label的文字alignment属性:对齐方式lines属性:如果为0,不限制行数,但是Label需要有足够大的空间显示内容Action:无UIImageView图像视图作用:在一个区域内,显示图像。注意:UIImage是一个二进制的图像数据,而UIImageView是用来显示图像数据的区域属性:image属性:用于设置在图像视图中显示的图片要从bundle加载图像,可以使用UIImage imageNamed:方法。UIImageView本身可以做序列帧动画,要使用序列帧动画,我们需要指定三个属性:animationsImages:序列帧图像数组animat

6、ionDuration:一组序列帧图片播放完成需要的时间animationRepeatCount:序列帧动画重复的次数,默认为0,循环播放设置完UIImageView的动画属性之后,需要使用startAnimation方法启动动画,如果要停止动画,可以使用stopAnimation方法。另外,可以使用isAnimating属性,判断当前是否正在播放动画Action:无UIButton按钮作用:用户交互的主要控件,有六种类型,其中自定义类型使用最为普遍属性:title属性:是按钮的文字titleColor属性:是按钮的颜色image属性:是按钮显示的图像提示:如果同时指定了image和title

7、属性,当按钮空间不够时,image优先显示;另外,image属性在按钮中不会变形backgroundImage属性:是按钮的背景图片,注意,按钮的背景图片会根据按钮的实际大小拉伸,在使用背景图片时,尤其需要注意按钮的大小backgroundColor属性:按钮的背景颜色属性,仅在自定义类型的按钮有效使用技巧:通常在指定同一类型的按钮操作时,我们习惯用tag区分按钮,然后统一调用同一个方法注意:设置按钮属性的同时,需要指定属性应用的状态,通常使用Normal状态,Highlight是按钮长按下的状态Action:TouchUpInsideUITextField文本框控件作用:供用户输入或编辑文本

8、属性:text属性:获得或设置文本框中的文字使用文本框控件时需要注意几项事情:在输入不同类型的文本时,需要注意键盘的类型,譬如输入QQ号要使用数字键盘。输入身份证号,需要自定义数字键盘或者默认打开数字的全键盘使用自定义数字键盘时,如果在越狱的机器上,可能会出现格式显示问题如果界面上有多个文本框供用户输入时,要注意回车键的设置,实现文本框由上至下的切换,切换到最后一个文本框,再按回车键时,调用对应的确认按钮的方法需要注意关闭键盘,关闭键盘有两种方法:self.view endEditing:YES;textField resignFirstResponder;撤销自身第一响应者的身份要获取键盘输

9、入的焦点,可以设置textField的becomeFirstResponder属性,让文本框成为第一响应者即可。要监听文本框的回车事件,需要设置文本框的delegate,同时让视图控制器遵从协议以上四个控件主要应用在应用程序中。UIswitch开关控件作用:设置某一个属性开或者关的状态属性:state属性:on/off使用isOn可以判断开关当前是否打开Action: valueChangedUISlider滑块控件作用:允许用户使用手指拖动滑块,产生数值变化的控件属性:minimumValue:滑块的最小数值maximumValue:滑块的最大数值value:滑块的当前数值需要注意的时:滑块

10、没有步长,滑块数值通常是连续变化的,这样可以保证滑块动画的连续性,因此,我们在使用滑块时,需要格外留意是否有重复刷新的情况,例如照片查看器示例程序Action: valueChangedUIStepper计数器控件作用:用户点击“+”数值增加,点击“-”数值减少属性:minimumValue:计数器的最小数值maximumValue:计数器的最大数值value:计数器的当前数值stepValue:滑块数值变化的步长wraps:是否环绕,设置了环绕属性之后,当数值到达最大值时会回复到最小值,产生环绕效果。如果没有设置环绕属性,当到达最大值时,“+”会变灰禁止用户点击,当到达最小值时,“-”会变灰

11、禁止用户点击Action: valueChangedUISegmentControl选项卡控件作用:用户同一时间只能选择一个选项,与开关不同,它可以设置多个选项供用户选择属性:selectedSegmentIndex属性:用户当前选中的选项卡索引,第一个选项卡索引对应的数值是0Action: valueChanged以上四个控件主要应用在设置页面。UIView作用:是一个容器,可以容纳任何的控件或者视图所有的控件,最终均继承自UIView属性:继承类属性:superView:每一个UIView最多只能有一个父视图,注意:UIViewController的根视图没有父视图。subViews:当前

12、视图所包含的子视图/控件位置大小类属性frame:设置视图的边框bounds:设置视图的边界,用于指定视图的大小,常用于视图的子控件设置位置,因为bounds属性的原点,永远是(0,0)center:设置视图的中心点位置,通常用于指定视图的位置,在视图动画中比较常用注意:frame和center可以指定UIView的位置frame和bounds可以指定UIView的大小形变属性transform:可以指定视图的平移、旋转和缩放属性CGAffineTransformRotate、CGAffineTransformScale、CGAffineTransformTranslation三个函数用于基于

13、UIView当前的形变属性继续变形CGAffineTransformMakeRotate、CGAffineTransformMakeScale、CGAffineTransformMakeTranslation三个函数用于基于UIView初始的形变进行变形动画:UIView封装了三个块代码动画:UIView animateWithDuration:animations: UIView animateWithDuration:animations:completion: UIView animateWithDuration: delay: options: animations: completi

14、on: Foundation框架凡是带有Mutable字样的类型,都是可变的,如果存在相对应的没有Mutable字样的类型,都是不可变的,一旦初始化之后,就不可以再修改。NSstring和NSMutableString字符串转数字 integerValue字符串常用方法:NSString stringWithFormat:”格式字符串”, 参数如果要表示:0001之类的数字格式可以使用”%04d”之类的格式字符串NSNumber是数字的NS对象的表达形式,如果要把数字添加到数组或者字典中,必须要进行转换,同时要使用数组中的数字,还需要转换成对应的数字。要转换数字可以使用OC提供的包装方法:(i

15、nt)要把NSNumber转换成字符串,需要使用stringValue方法NSDate是日期的数据类型常用类方法NSDate date取出当前的系统时间timeIntervalSinceDate方法可以计算两个时间的差值,以秒为单位特别需要注意,不要把NSDate和NSData搞混,这对于初学者,是经常犯的错误。NSArray和NSMutableArrayNSArray是不可变的,NSMutableArray是可变的,通常在使用时,可以用一个自定义方法,初始化一个NSMutableArray,而在方法之外,统一使用NSArray在NSArray中,可以插入任何类型的对象,使用方法是:addOb

16、ject(id)要取出NSArray中的对象,可以使用整数下标获取,例如:arrayi需要注意的是:如果要将int、float、double、NSInteger、CGFloat、CGPoint、CGRect、CGSize这些类型的数据插入数组之前,都需要进行类型转换如果从Bundle中读取数组,可以使用arrayWithContentOfFile:方法NSDictionary和NSMutableDictionary字典和NSArray非常类似,不过字典是使用字符串键值进行维护的,它的可读性更强在数据字典中,字符串的键值不能够重复要向数据字典中添加对象,需要使用setValue:forKey:方

17、法要从数据字典中获取对象,需要使用dict”keyName”;如果要从Bundle中读取字典,可以使用dictionaryWithContentsOfFile:方法 MVC体系结构Model:数据模型负责数据的保存以及相关的处理方法,Model不知道它会被谁调用,也不知道什么时候会被调用View:视图负责界面上元素的显示,通常在很多iOS应用程序中,视图只是StoryBoard或者xib文件,一般不会在视图中写太多的代码Controller:控制器负责界面上数据的显示,以及用户与界面发生交互之后,通知数据模型,做相应的处理。控制器是视图与数据模型之间的纽带和桥梁。通常在大多数应用程序中,视图控

18、制器中的代码是最多的。在iOS开发中,每一个Controller都有切仅有一个跟视图,如果使用Storyboard建立的应用程序,Xcode会自动设置一个view作为视图控制器的跟视图,也是第一个显示在用户面前的视图。 代理协议消息传递机制代理协议机制在iOS开发中,是非常常用的一种消息传递机制,主要用于子视图向父视图传递数据,代理协议是单向消息传递。要使用代理协议,需要以下几个步骤:子视图控制器中需要做如下操作:在子视图控制器中定义协议,并且定义若干协议方法,注意:只有方法,而没有方法的具体实现。协议的名称通常是子视图控制器的类名+Delegate在子视图控制器中定义代理属性,代理的属性是weak子视图控制器中,在需要时直接通过_delegate调用协议方法,就可以执行父视图控制器中的相应方法的实现父视图控制器中需要做如下操作:遵从子视图控制器头文件中定义的协议在推出子视图控制器前,设置自己是子视图控制器的代理,通常在prepareSegue方法中实现实现子视图控制器中的协议方法,等待子视图控制器的调用 NSTimer计时器使用实例代码如下:/ 第一个参数:多长时间会触发一次,以秒为单位/ 第二个参数:如果看到函数的参数有target,一般情况下,都用self/ 第三个参

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论