iOS 笔记】的更多相关文章

前言:我的第一篇文章荼菜的iOS笔记–Core Animation 核心动画算是比较详细讲了核心动画的用法,但是如你上篇看到的,有时我们只是想实现一些很小的动画,这时再用coreAnimation就会觉得麻烦,不用慌,苹果工程师爸爸们已经为我们给UIView封装好了一些coreAnimationBlock,足以满足平时的动画需求. 动画Block1 1 2 3 4 5 6 7 8 9 10 /* 参数1: Duration: 动画持续时间 参数2: delay: 延迟时间 参数3: option…
< ![CDATA[ 笔记 UIWindows 与UIView的关系iOS的坐标系统视图层次结构视图坐标(Frame和Bounds区别)UIView的常用属性和方法坐标系统的变换UIView内容模式UIView动画 UIKit是一个提供了在iOS上实现图形,事件驱动的框架 UIView是视图基类UIViewController试图控制器的基类UIResponder表示一个可以接受触摸屏上的触摸事件的对象窗口是视图的一个子类窗口的主要功能:一个提供一个区域来显示视图 二来将事件event分发给视图…
原文网址:http://www.jianshu.com/p/f23862eb7b8a 导读: iOS开发中,很多时候系统提供的控件并不能很好的满足我们的需求,因此,自定义控件便成为搭建UI界面中必不可少的一部分.本篇博文以笔记的形式,总结了自定义控件的两种方式以及每种方式的实现步骤,虽简略却不简单,因此希望留给读者更多的思考空间.作为入门的编程学习者,独立思考能力和动手编程能力都是至关重要的.在此,希望大家学习愉快,共同进步. 自定义控件之xib方式 xib与storyboard 共同点: 都用…
应用沙盒:应用文件系统的根目录,每个应用都有独自的沙盒相互:在xcode中可以用NSHomeDirectory()函数,打印当前应用的沙盒根路径. 应用程序包:包含了所有资源文件和执行文件; * Documents:保存应用运行时生成的需要持久化的数据,iTunes同步会备份该目录. * tmp:保存应用运行时生成的临时数据,使用完毕后再将相应的文件从该目录从删除,应用没有运行时系统也会自动清楚该目录,iTunes同步时不会被备份该目录. * Library/Caches:保存应用运行时生成的需…
在进行IOS开发的过程中,出现类似微信朋友圈的交互界面,当用户遇到感兴趣的内容可以进行评论.为了方便评论输入,当出现评论输入框的时候自动将评论输入框移动至键盘的上方,这样方便边输入边查看. 当用户隐藏键盘或者切换输入法的时候需要对输入框位置进行变化,这里需要设定键盘监听方法. 效果如下图: 具体实现方法可以参考Xamarin提供的示例,源代码示例见: https://github.com/xamarin/monotouch-samples/blob/master/BubbleCell/Bubbl…
Delegation Delegation is a simple and powerful pattern in which one object in a program acts on behalf of, or in coordination with, another object. The delegating object keeps a reference to the other object—the delegate—and at the appropriate time s…
Event Delivery: The Responder Chain  事件分发--响应链 When you design your app, it’s likely that you want to respond to events dynamically. For example, a touch can occur in many different objects onscreen, and you have to decide which object you want to re…
Gesture Recognizers Gesture recognizers convert low-level event handling code into higher-level actions. They are objects that you attach to a view, which allows the view to respond to actions the way a control does. Gesture recognizers interpret tou…
About Events in iOS Users manipulate their iOS devices in a number of ways, such as touching the screen or shaking the device. iOS interprets when and how a user is manipulating the hardware and passes this information to your app. The more your app…
Resource Management in View Controllers 视图控制器的资源管理 View controllers are an essential part of managing your app’s resources. View controllers allow you to break your app up into multiple parts and instantiate only the parts that are needed. But more t…
Creating Custom Content View Controllers 自定义内容视图控制器 Custom content view controllers are the heart of your app. You use them to present your app’s unique content. All apps need at least one custom content view controller. Complex apps divide the workl…
参考:http://www.cnblogs.com/patientAndPersist/p/3279645.html Using View Controllers in Your App Whether you are working with view controllers provided by iOS, or with custom controllers you’ve created to show your app’s content, you use a similar set o…
View Controller Basics   视图控制器基础 Apps running on iOS–based devices have a limited amount of screen space for displaying content and therefore must be creative in how they present information to the user. Apps that have lots of information to display…
Views Because view objects are the main way your application interacts with the user, they have many responsibilities. Here are just a few: 通过view对象是与用户交互的主要方式,它们有很多责任,下面是其中一些: Layout and subview management   布局 A view defines its own default resizin…
Windows Every iOS application needs at least one window—an instance of the UIWindow class—and some may include more than one window. A window object has several responsibilities: It contains your application’s visible content. It plays a key role in…
原文:View Programming Guide for iOS View and Window Architecture Views and windows present your application’s user interface and handle the interactions with that interface. UIKit and other system frameworks provide a number of views that you can use a…
学习目标 1.[了解]屏幕适配的发展史 2.[了解]autoResizing基本用法 3.[掌握]autoLayout 的基本用法 4.[掌握]autoLayout代码实现 5.[理解]sizeClass的基本用法 一.屏幕适配的发展史 随着iOS屏幕尺寸越来越多样化,屏幕适配也就越来越重要了. iphone1 - iphone3gs时代,window的size固定为(320,480).我们只需要简单计算一下相对位置就好了,不需要做屏幕适配. iphone4 - iphone4s时代,苹果推出了…
申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨 可视化的搭建UI效率是很高的.所以官方苹果也是很推荐的.那么我们来学一学怎样利用系统自带的故事版(storyboard)来搭建UI.可视化搭建UI除了能够使用storyboard也能够使用xib.事实上使用它们也是很easy的,仅仅须要在xcode的右下角写处控件的名字,然后拖拽到故事板上就可以.如图 拖拽完之后. 就是依据需求去设置控件的大小,以及屏幕的适配(iphone4~iPhone 6s plus)等.在这个设置大小的点,我们就要…
1. 设置navigationBar 背景颜色有色差, 原因:如果单纯的设置背景颜色也是有高斯模糊处理的效果,对纯色高斯模糊处理过后相当于纯色的70%(猜测)透明化处理,但是反正就是有色差 解决方法一: self.navigationController.navigationBar.translucent = NO;//    Bar的模糊效果,默认为YES 方法二: 通过图片方法 [self.navigationController.navigationBar setBackgroundIma…
IOS开发中多线程 主线程 一个iOS程序运行后,默认会开启1条线程,称为"主线程"或"UI线程" 作用 显示和刷新界面 处理UI事件(点击.滚动.拖拽等) 注意事项 耗时操作不能放在主线程中没,比如资源记载,文件下载,等比较耗时间的任务,不然会卡死界面 可以将耗时操作放到子线程中,将操作结果返回给主线程 IOS中得几种多线程实现方案 pThread 一套通用的多线程API 适用于Unix\Linux\Windows等系统 跨平台\可移植 使用难度大 C语言,手动管…
注意事项 :locationInView和translationInView // 返回相对于控件自身内部触摸点的位置 [pan locationInView:self]; // 返回两个触摸点之间的偏移量,这个是偏移量,其实和具体的控件关系不大 CGPoint curP = [pan translationInView:self]; CAlayer 对象 在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层 @pr…
网络 基本概念 客户端:client 服务器:server 请求:request 响应:response 过程 客户端 -> 发送请求 -> 服务器(连接数据库) 服务器 -> 发送响应 -> 客户端 客户端(移动端) 前段(前台) iOS,Android 服务器(后端) 后台 Java.PHP..NET 远程服务器-面向所有用户(上线) 本地服务器-面向公司内部(测试) URL URL的全称是Uniform Resource Locator(统一资源定位符) 通过1个URL,能找…
  简介 Quartz 2D是一个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作       绘制图形 : 线条\三角形\矩形\圆\弧等       绘制文字       绘制\生成图片(图像)       读取\生成PDF       截图\裁剪图片       自定义UI控件 使用Quartz 2D绘制图形需要绘制在UIView上,而且要自定义的view. 自定义view的步骤         1.新建一个类,继承自UIView         2.实现- (voi…
IOS事件处理 1.触摸事件 2.加速器事件:重力感应,旋转等事件 3.远程遥控事件:蓝牙线控,耳机线控等 触摸事件 响应者对象 只有继承了UIResponder得对象才能接收并处理事件 常见类有:UIApplication.UIViewController.UIView UIResponder中几个事件响应方法 触摸事件方法 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; - (void)touchesMove…
  IOS数据存储的几种方式         XML属性列表(plist)         归档 Preference(偏好设置)          NSKeyedArchiver归档(NSCoding)         SQLite3         Core Data 先来研究一下前三种.         每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒.沙盒的结构如下所示:        应用程序包:(上图中…
UIApplication 每一个应用都有自己的UIApplication对象,而且是单例的 通过[UIApplication sharedApplication]可以获得这个单例对象 一个iOS程序启动后创建的第一个对象就是UIApplication对象 单例对象的获取     UIApplication *app = [UIApplicationsharedApplication]; 隐藏状态栏     // 1.隐藏状态栏,ios7以后默认是由控制器控制的,如果要用UIApplicatio…
(1)运行中的现象: 在iOS开发中,会遇到:同一NSURL被多次请求,会造成用户的流量浪费,程序的响应速度不够快.比如说,从服务器上请求一张图片,请求100次,下载的结果都是一样的. (2)解决方法: 为了提高程序响应速度,可以考虑缓存.内存缓存和硬盘缓存. 内存缓存其实是沙盒缓存. <2>缓存在客户端和服务器通信的过程 (2-1)客户端第一次向服务器请求数据: 第一次请求数据数据时,检测内存缓存中是否有数据,如果内存缓存中没有数据,就判断硬盘缓存中是否有数据,如果硬盘缓存都没有数据,就去服…
1.View Controller 基础 1.1 View Controller 分类 ViewController分为container view controller 和content view controller两种类型. 这两种类型只是用途不同,前者作为一个容器容纳其他的view controller,后者用来显示内容,代码上面区别不大.前者包括UINavigationViewController. UITabBarViewController等,后者包括UITabViewContro…
 一.简介 NSSet到底什么类型,其实它和NSArray功能性质一样,用于存储对象,属于集合: NSSet  , NSMutableSet类声明编程接口对象,无序的集合,在内存中存储方式是不连续的,不像NSArray(是有序的集合)类声明编程接口对象是有序集合,在内存中存储位置是连续的: NSSet和我们常用NSArry区别是:在搜索一个一个元素时NSSet比NSArray效率高,主要是它用到了一个Hash(散列,也可直译为哈希)算法. NSSet和NSArray都是类,只能添加Cocoa对象…
1. 使用断言NSAssert()调试程序错误 NSAssert()只是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属于Bug,满足条件返回真值,程序继续运行,如果返回假值.则抛出异常,并且可以自定义异常描述.NSAssert()是这样定义的: #define NSAssert(condition, desc) condition是条件表达式,值为YES或NO;desc为异常描述,通常为NSString.当condition为YES时程序继续运行,为…