
iOS基础
文章平均质量分 75
痞子俊
科技改变世界
展开
-
iOS基础 - UITextField
一、UITextField1.常见属性@property(nonatomic,retain) UIView *leftView; // 设置文本框左边显示什么控件,可以让文本框的内容往右边挪动@property(nonatomic) UITextFieldViewMode leftViewMode; // 设置左边控件的显示模式/*UITextFieldViewMode的取值原创 2014-01-04 19:44:51 · 347 阅读 · 0 评论 -
iOS基础 - NSURLSession
使用URLSession所有的网络访问都是有缓存的,缓存文件自动保存在tmp文件夹中,URLSession本身实现的时候,就是少量多次的!l 使用defaultSessionConfiguration配置建立的会话退出到首页时,任务会被自动挂起重新进入应用时,任务会自动继续l 使用backgroundSessionConfiguration配置建立的会话在退出首页时,后原创 2014-01-21 22:41:36 · 419 阅读 · 0 评论 -
iOS基础 - 数据库CoreData
一、iOS应用数据存取的常用方式XML属性列表 —— PListNSKeyedArchiver 归档Preference(偏好设置)SQLite3 Core Data二、Core Data简介Core Data 是iOS SDK 里的一个很强大的框架,允许程序员以面向对象的方式储存和管理数据。使用Core Data框架,程序员可以很轻松有效地通过面向对象的接口管理数据原创 2014-02-10 22:25:24 · 626 阅读 · 1 评论 -
iOS基础 - 数据库-SQLite
一、iOS应用数据存取的常用方式XML属性列表 —— PListNSKeyedArchiver 归档Preference(偏好设置)SQLite3 Core Data(以面向对象的方式操作数据库SQLite)二、数据库简介(文件)数据库(Database)是按照数据结构来组织、存储和管理数据的仓库数据库的种类:关系型数据库(主流)对象型数据库文档型数据库原创 2014-02-09 22:12:44 · 577 阅读 · 1 评论 -
iOS基础 - 内存分析
一、内存的重要性程序是否可用的最根本的制约因素。十分影响用户体验。程序的crash有很多情况都是内存的原因。二、iOS平台内存警告机制iOS系统不支持虚拟内存,一旦出现内存不足的情况,iOS系统会通知所有app,无论是前台的还是挂起的,都会收到memory warning的通知,一旦app收到memory warning的通知就应该回收占用内存较大的对象。内存警告测试方法:原创 2014-02-08 22:07:36 · 688 阅读 · 1 评论 -
iOS基础 - iOS静态库
一、什么是库?库是共享程序代码的方式,一般分为静态库和动态库。二、静态库与动态库的区别?静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝。动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省内存。三、iOS里静态库形式?.a和.framework四、iOS里动态库形式?.dylib和.framewor原创 2014-02-07 22:11:46 · 674 阅读 · 0 评论 -
iOS基础 - 单元测试
单元测试(unit testing):对软件中最小可测试单元进行检查和验证。一般面向过程的语言中,基本单元为函数,面向对象的语言中,基本单元通常是类,其实对于一个手机上的app来说基本单元也可以是一个UI页面。平时我们写了一个函数,执行以下看是否正常工作,也属于单元测试。 测试用例(test case):对测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据原创 2014-01-24 18:55:59 · 521 阅读 · 0 评论 -
iOS基础 - 相片浏览器
一、需求分析点击照片从当前照片位置动画弹出新的视图控制器显示选中的照片,新的视图控制器为全屏显示,背景为黑色,再次点击照片动画缩小至当前选中的照片位置,双击放大照片,如果已经放大则缩小,在新的视图控制器中滑动手指,可以在照片之间切换,当前显示的照片支持手指捏合手势,放大或缩小照片,照片切换时,在照片的下方显示标签提示当前显示的照片数量及照片总数。性能优化:点击照片从当前照片位置动画弹出新的原创 2014-01-23 22:59:23 · 729 阅读 · 1 评论 -
iOS基础 - UIWebView
一、UIWebView简介是iOS内置的浏览器控件,可以浏览网页、打开文档等能够加载html/htm、pdf、docx、txt等格式的文件系统自带的Safari浏览器就是通过UIWebView实现的二、关于MIME typeMIME的英文全称是“Multipurpose Internet Mail Extensions” 多用途互联网邮件扩展,是一个互联网标准,最早应用于电子邮原创 2014-01-18 22:43:59 · 445 阅读 · 0 评论 -
iOS基础 - XML & JSON
一、HTML & XMLHTML 是用来描述网页的一种语言HTML 指的是超文本标记语言 (Hyper Text Markup Language)HTML 不是一种编程语言,而是一种标记语言 (markup language)HTML 被设计用来显示数据HTML5是下一代的 HTML增加了用于绘画的 canvas 元素用于媒介回放的 video 和audio原创 2014-01-19 23:18:17 · 358 阅读 · 0 评论 -
iOS基础 - 瀑布流
一、瀑布流简介瀑布流,又称瀑布流式布局。是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部。最早采用此布局的网站是Pinterest,逐渐在国内流行开来。国内大多数清新站基本为这类风格二、瀑布流特点l 琳琅满目:整版以图片为主,大小不一的图片按照一定的规律排列l 唯美:图片的风格以唯美的图片为主l 操作原创 2014-01-22 23:31:15 · 540 阅读 · 0 评论 -
iOS基础 - 控件属性
一、控件的属性1.CGRect frame1> 表示控件的位置和尺寸(以父控件的左上角为坐标原点(0, 0))2> 修改这个属性,可以调整控件的位置和尺寸 2.CGPoint center1> 表示控件的中点(以父控件的左上角为坐标原点)2> 修改这个属性,可以调整控件的位置 3.CGRect bounds1> 表示控件的位置和尺寸(以自己的左上角位坐标原点原创 2013-12-27 22:11:00 · 328 阅读 · 0 评论 -
iOS基础 - 通知中心(NSNotificationCenter)
通知中心(NSNotificationCenter)每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信任何一个对象都可以向通知中心发布通知(NSNotification),描述自己在做什么。其他感兴趣的对象(Observer)可以申请在某个特定通知发布时(或在某个特定的对象发布通知时)收到这个通知通知(NSNotifica原创 2014-01-03 23:19:07 · 397 阅读 · 0 评论 -
iOS基础 - 完善键盘处理
1.完善键盘处理步骤一:创建一个数组,里面装着所有的文本框。步骤二:监听所有文本框的开始编辑,设置所有文本框的代理为控制器1.设置生日和城市不允许键盘输入2.当开始编辑的时候调用,用一个成员属性,记录住当前聚焦的文本框步骤三:完成工具条的代理方法步骤四:判断工具条上的按钮是否能点击步骤五:将文本框数组按照y值排序步骤六:监听系统发出键盘滚动通知步骤七:当键盘挡住原创 2014-01-06 22:07:33 · 351 阅读 · 0 评论 -
iOS基础 - UIDatePicker and UIPickerView and UITextField
1.UIDatePicker继承自UIControl,因此不会通过代理来监听事件的改变,而是通过addTarget来监听事件。监听的事件是值改变事件。2.UIPickerView继承自UIView,里面有数据源和代理,因此UIPickerView展示数据通过数据源,监听事件通过代理。一、如何监听控件的一些事件 或者 行为* 如果父类是UIControl,说明是通过addTarget原创 2014-01-05 21:24:18 · 815 阅读 · 0 评论 -
iOS基础 - UITableViewController
1. 继承UITableViewController默认会设置数据源和代理,并且会自动遵守数据源和代理协议,并且self.tableView 相当于 self.view2.更换控制器时,注意把storyboard中之前的控制器给删了,然后在重新拖一个进来,并且设置他的class为新的控制器。就能在加载程序的时候,进入新的控制器。3.自定义cell例子思路引导步骤一:创建xib,描述自定原创 2014-01-02 21:36:54 · 369 阅读 · 0 评论 -
iOS基础 - UITableView的数据源和代理
一、UITableView的代理方法#pragma mark 每一行的高度- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath#pragma mark 选中了某一行就会调用- (void)tableView:(UITableView *)table原创 2014-01-01 22:42:06 · 1106 阅读 · 1 评论 -
iOS基础 - UIScrollView
一.UIScrollView使用引导思路。1.之前我们所学的显示图片是用UIImageView2.将UIImageView添加到根视图中,不显示的原因:没有设置位置3.当图片比屏幕大时,直接放在屏幕大小的尺寸中,会被压缩。但是图片会被压缩。4.我们应该根据图片大小设置UIImageView的尺寸。但是发现屏幕显示的只有图片的一半。5.怎么才能看的见所有图片内容了,这就需要用到U原创 2013-12-30 22:05:00 · 434 阅读 · 0 评论 -
iOS基础 - 类扩展
一、类扩展(class extension,匿名分类)1.格式@interface 类名 (){ // 成员变量...}// 方法声明...@end 2.作用1> 写在.m文件中2> 一般用来扩充私有成员变量、@property属性、方法等 二、随机数生成1.arc4random() 会生成任意正整数和02.arc4random_u原创 2013-12-29 21:35:12 · 309 阅读 · 0 评论 -
iOS基础 - UIButton - UIImageView
封装思想:将相同的重复东西保存到方法里,不同的东西用参数代替。不相同的东西交给方法调用者,相同东西自己搞定。 一、UIButton和UIImageView的区别1.显示图片1> UIImageView只能显示一种图片(图片默认会填充整个UIImageView) image\setImage:2> UIButton能显示2种图片* 背景 (背景会填充整个UIButton)原创 2013-12-28 21:44:21 · 619 阅读 · 0 评论 -
iOS基础 - UITableView的数据源(dataSource)和代理(delegate)
UITableView的数据源(dataSource)和代理(delegate)UITableView需要一个数据源(dataSource)来显示数据,UITableView会向数据源查询一共有多少行数据以及每一行显示什么数据等。没有设置数据源的UITableView只是个空壳。凡是遵守UITableViewDataSource协议的OC对象,都可以是UITableView的数据源。通常都原创 2014-01-01 01:06:21 · 2537 阅读 · 0 评论 -
iOS基础 - 多媒体
一、播放视频iOS提供了叫做MPMoviePlayerController、MPMoviePlayerViewController的两个类,可以用来轻松播放视频YouTobe就是用MPMoviePlayerController实现的MPMoviePlayerViewController只能全屏播放视频上述两个类都定义在了MediaPlayer框架中二、MPMoviePlayer原创 2014-01-19 23:14:37 · 397 阅读 · 0 评论 -
iOS基础 - iOS网络基础
一、网络访问的四个步骤l 第一步:确定地址URLl 第二步:建立请求l 第三步:建立并启动连接l 第四步:连接完成,处理结果备注:URL,统一资源定位符(URL,英语Uniform Resource Locator的缩写)也被称为网页地址,是因特网上标准的资源的地址。iOS中资源地址一般都是使用NSURL描述的,包括:网页、本地文件、音频、视频、电话、短信等二、iOS网原创 2014-01-18 22:39:48 · 368 阅读 · 0 评论 -
iOS基础 - KVC and KVO
一、KVC(key value coding)我们一般是通过调用set方法或属性的点语法来直接更改对象的状态,即对象的属性值,比如[stu setAge:10]; stu.age = 9;KVC,它是一种间接更改对象状态的方式,其实现方法是使用字符串来描述对象需要更改的属性。KVC中的基本调用包括valueForKey:和setValue:ForKey:,以字符串的形式向对象发送消息原创 2014-01-10 22:20:14 · 341 阅读 · 0 评论 -
iOS基础 - 史上最难游戏
步骤一:隐藏状态栏步骤二:屏幕适配步骤三:设置窗口的根控制器为导航控制器,并且设置导航条和状态栏。步骤四:搭建设置界面步骤五:控制器连线步骤六:搭建关卡控制器加载pilst文件创建关卡模型将数据转换成模型用xib关卡视图创建关卡视图类设置关卡视图的位置给关卡视图提供关卡模型属性,设置关卡视图的显示。传递模型给view步骤七:搭建准备游戏界面 1. 设置关卡视图原创 2014-01-10 22:03:42 · 272 阅读 · 0 评论 -
iOS基础 - 控制器
一、当两个控制器互为父子关系的时候,它们的view一般也是互为父子关系比如想添加A控制器的view到B控制器的view上,就应该让A控制器成为B控制器的子控制器,而B控制器就称为A控制器的父控制器//[B addChildViewController:A];// A就会存在于B的childViewControllers数组中// A.parentViewController ==原创 2014-01-09 22:05:30 · 304 阅读 · 0 评论 -
iOS基础 - Copy
copy和mutableCopy一个对象使用copy或mutableCopy方法可以创建对象的副本copy – 需要先实现NSCoppying协议,创建的是不可变副本(如NSString、NSArray、NSDictionary)mutableCopy – 需要先实现NSMutableCopying协议,创建的是可变副本(如NSMutableString、NSMutableArray、原创 2014-01-10 22:11:08 · 280 阅读 · 0 评论 -
iOS基础 - 定时器
1.可以完成的功能:每隔一段时间做一些固定的事情2.创建定时器1> 方法1NSTimer *timer = [NSTimer timerWithTimeInterval:1.5 target:self selector:@selector(randomFeet) userInfo:nil repeats:YES];[timer fire]; // 需要调用fire才能启动计时器原创 2014-01-10 22:08:40 · 296 阅读 · 0 评论 -
iOS基础 - Modal展示控制器
一、利用Modal形式展示控制器1.如何展示// vc就是要展示的新控制器[self presentViewController:vc animated:YES completion:^{NSLog(@"展示完毕");}];2.如何关闭modal控制器[self dismissViewControllerAnimated:YES completion:nil];二、原创 2014-01-09 00:50:34 · 316 阅读 · 0 评论 -
iOS基础 - Modal制作控制器
1.modal1.modal推出控制器的代码2.modal关闭当前控制器的代码3.modal推出的动画效果4.modal在ipad中应用2.如何给控制器加上导航栏3.modal和导航控制器的区别导航控制器切换是更改导航控制器上显示的子控制器的视图。而moadl切换是直接把之前的控制器视图移除父视图,在将后来的视图添加进去。4.更改窗口的根控制器,也是一种切换控制原创 2014-01-09 00:53:38 · 306 阅读 · 0 评论 -
iOS基础 - 数据存取
一、iOS应用数据存储的常用方式XML属性列表(plist)归档Preference(偏好设置)NSKeyedArchiver归档SQLite3 Core Data二、应用沙盒每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离。应用必须待在自己的沙盒里,其他应用不能访问该沙盒应用沙盒的文件系统目录,如下图所示(假设应用的名称叫Layer原创 2014-01-09 00:46:18 · 375 阅读 · 0 评论 -
iOS基础 - 控制器管理
一、Container一个iOS的app很少只由一个ViewController组成,除非这个app极其简单。当app中有多个ViewController的时候,我们就需要对这些ViewController进行管理容器:负责展示一个或者多个ViewController,并管理这些View Controller的视图生命周期大部分容器本身也是一个ViewController,被容器管原创 2014-01-08 00:17:38 · 344 阅读 · 0 评论 -
iOS基础 - 触摸事件与手势识别
一、iOS的输入事件UIKit可识别三种类型的输入事件:触摸事件运动(加速计)事件远程控制事件二、UIEventiOS中许多事件对象都是UIEvent类的实例,记录事件产生的时刻和类型UIEvent类事件类型的enum常量:typedef NS_ENUM(NSInteger, UIEventType) {UIEventTypeTouches,UIEventT原创 2014-01-11 23:10:23 · 1128 阅读 · 1 评论 -
iOS基础 - Quartz 2D绘图
一、Quartz 2DQuartz 2D是一个二维图形绘制引擎,支持iOS环境和Mac OS X环境。Quartz 2D以PDF的规范为基础的图形库,用来绘制二维文字和图形,允许相同的绘图指令在任何装置上,使用可以得到的最佳分辨率,产生相同的输出Quartz 2D API可以实现许多功能,如基于路径的绘图、透明度、阴影、颜色管理、反锯齿、PDF文档生成和PDF元数据访问等Quart原创 2014-01-12 23:45:38 · 383 阅读 · 0 评论 -
iOS基础 - 第三方网络框架
一、iOS网络层次结构基于iOS提供API实现上传文件和断点续传的思路常用iOS第三方网路框架简介AFNetworking(AFN)ASIHTTPRequest(ASI)另外一个常用框架SSZipArchive二、iOS网络编程层次结构Cocoa层(NSURL,Bonjour,Game Kit,WebKit)Core Foundation层(基于 C的原创 2014-01-20 23:13:47 · 671 阅读 · 0 评论 -
iOS基础 - 多线程线程
一、多线程的应用l 充分发挥多核处理器的优势,并发(同时执行)执行任务让系统运行的更快、更流畅二、进程与线程概念l 一个运行的程序就是一个进程或者叫做一个任务l 一个进程至少包含一个线程,线程是程序的执行流l iOS程序启动时,在创建一个进程的同时, 会开始运行一个线程,该线程被称为主线程l 主线程是其他线程最终的父线程,所有界面的显示操作必须在主线程进行!!!l 后台原创 2014-01-18 00:53:38 · 366 阅读 · 0 评论 -
iOS基础 - UIDynamic
一、UIKit动力学UIKit动力学最大的特点是将现实世界动力驱动的动画引入了UIKit,比如重力,铰链连接,碰撞,悬挂等效果,即将2D物理引擎引入了UIKit注意:UIKit动力学的引入,并不是为了替代CA或者UIView动画,在绝大多数情况下CA或者UIView动画仍然是最优方案,只有在需要引入逼真的交互设计的时候,才需要使用UIKit动力学它是作为现有交互设计和实现的一种补充其他原创 2014-01-16 23:19:17 · 778 阅读 · 0 评论 -
iOS基础 - 核心动画
一、核心动画l 核心动画基本概念l 基本动画l 关键帧动画l 动画组l 转场动画l Core Animation是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍!l 使用它需要先添加QuartzCore.framework和引入对应的框架l 开发步骤:初始化一个动画对象(CAAnimation)并设置一些动画相关属性CALa原创 2014-01-15 21:35:36 · 465 阅读 · 0 评论 -
iOS基础 - 文本属性Attributes
NSKernAttributeName: 调整字句 kerning 字句调整NSFontAttributeName : [UIFont systemFontOfSize:_fontSize] 设置字体NSForegroundColorAttributeName :[UIColor redColor] 设置文字颜色NSParagraphStyleAttributeName : paragraph 设原创 2014-01-14 23:12:27 · 319 阅读 · 0 评论 -
iOS基础 - 触摸事件&手势识别
==================================================================一、触摸事件&手势识别1> 4个触摸事件,针对视图的2> 6个手势识别(除了用代码添加,也可以用Storyboard添加)附加在某一个特定视图上的,其中需要注意轻扫手势通常会附加到根视图上。* 大部分操作,都会在touchesBegan事件中处理,原创 2014-01-16 23:27:03 · 356 阅读 · 0 评论