1. 设计模式:适配器模式

    本文翻译自:Design Patterns: The Adapter Pattern在上一篇文章中,我们介绍了外观模式如何只用一个简单的外观类来简化任何庞大而复杂的系统工作。在这篇文章中,我们将继续讨论设计模式—适配器模式。 当你的代码依赖于一些外部的API或者其它的代码改变很频繁时,可以使用这个特定的模式来解决问题。这种模式属于“结构模式”的范畴,因为它教导我们的代码和类如何构造来更容易地管理和扩展。再次重申,设计模式对于传统的类并没有什么新东西,相反,它展示给我们一种更好地构造我们...…

    设计模式继续阅读

  2. 设计模式:外观模式

    当涉及到设计模式时,你可能会问: 为什么在编程中需要使用设计模式? 我们的代码不用设计模式也能正常工作。为此,我想反问:“你愿意住在一个豪华的家,还是一个只是简单的四面墙的地方?”毕竟,无论哪种,都可以满足我们的需求。一般情况下,我们会选择一个豪华的家,因为它提供了更好的设施,需要更少的维护,保养也不用那么麻烦,因为基础架构已经存在。同样的道理也适用于编程:采用设计模式的代码是很容易理解,易于维护,易于扩展的。在这系列的教程中,我们将覆盖一些对我们在编程中非常有用的设计模式。你讲了解它...…

    设计模式继续阅读

  3. 图片信息

    颜色空间用RGB模式表示颜色是颜色空间的其中一种分类,它是众多存储颜色方法中的一种,另一种颜色空间是灰阶空间。所有的图形只有黑色和白色。我这里推荐一篇翻译文章:IOS中图形图像处理第一部分:位图图像原图修改,虽然不是很详细,但是起码讲解很生动。颜色深度颜色深度标准通常有以下几种:8位色,每个像素所能显示的彩色数为2的8次方,即256种颜色。16位增强色,16位彩色,每个像素所能显示的彩色数为2的16次方,即65536种颜色。24位真彩色,每个像素所能显示的彩色数为24位,即2的24次方,约...…

    图像继续阅读

  4. 图片

    图片文件格式如果你想获取一个数码相机导出的数码相片的EXIF和GPS信息,或者你想保存图片数据为TIFF格式,你可能会用到ImageIO.framework 框架。图片IO框架引入了一个图片源的概念(CGImageSourceRef)。可以通过一个磁盘上的文件URL或者NSData对象(实际上是CFDataRef,可从NSData转换得到)来创建这个数据源。通过这个数据源,你可以获取原图片的一个CGImage对象(或者是一组CGImage,如果是gif格式)。而且,你还可以从源文件中直接获...…

    图像继续阅读

  5. 命令行下构建xcode 工程(build 和 Archive)

    mac 10.9 以前的做法1、首先需要解锁mac 系统的keychain 工具,然后导入签名证书:// 解锁钥匙串security unlock-keychain -p password "$HOME/Library/Keychains/login.keychain" // -k 指定证书导入到登录钥匙串中// -P 导入证书时,需要的密码(是导出这个p12格式的证书时输入的密码)// -A 表示允许任何应用程序访问导入的密钥,不提示警告信息(不安全,不推荐!)security impo...…

    图像继续阅读

  6. Xcode 运行时配置

    有时候,我们的app在测试时需要连接到一个testing服务器,在打包为企业证书的app时又需要连接到另一个ad hoc 服务器,或者我们想企业证书打包的app和debug模式打包的app有不同的APP Bundle Identifier,以在一个测试机上同时安装….等等这些与App开发没有实际连接的需求,如果我们手动改,非常麻烦,如果分工程管理更麻烦。下面介绍一些Xcode中的运行时配置,希望有所启发:一个很好地实现上面的需求的方式是使用build configuration 构建配置和...…

    Xcode继续阅读

  7. 触摸传递 Touch Delivery

    下面是一个触摸传递到视图和手势识别的完整的标准过程: 当有一个新的触摸,该应用程序使用hit-testing命中测试(后面会讲)来确定被触摸的视图,这个视图就会永远与这个触摸对应。这个视图称为hit-test视图。如果想忽略一个视图,不处理触摸,可以在这个阶段设置userInteractionEnabled, hidden, 和 alpha属性。 每次触摸状态改变,该应用程序会调用自己的sendEvent:方法,反过来又会调用window的sendEvent:方法,...…

    iOS继续阅读

  8. Touches 触摸 & Gesture Recognizer 手势识别

    每个UITouch对象对应一个手指。反过来说,每一个手指触摸屏幕时是由在UIEvent里的一个UITouch对象表示的。 对于给定的UITouch对象(请记住,一个特定的手指),只有五件事情可能发生。这些被称为接触阶段,并通过一个UITouch实例的相位特性进行了说明: UITouchPhaseBegan 手指第一次触摸屏幕,这个UITouch对象刚刚被创建。这总是第一个阶段,而且只会进入一次。 UITouchPhaseMoved 手指在屏...…

    iOS继续阅读

  9. Motion Effects & Animation 和 Autolayout

    Motion Effects在iOS7中,当用户倾斜设备时,一个视图可以实时地响应。通常情况下,视图的响应将是稍微改变其位置。这被用于,例如,在该界面的各部分,让界面有种层叠感。当UIAlertView存在时,如果使用者倾斜装置,该UIAlertView会移动其位置;效果有点微妙,但足以表明UIAlertView稍微在屏幕的前面漂浮。你自己的视图也可以用同样的方式来表现。一个视图如果有一个或多个motion effects动画效果(UIMotionEffect)。这个动画效果通过addMo...…

    iOS继续阅读

  10. CIFilter Transitions & UIKit Dynamics

    CIFilter Transitions : CIFilter 转换Core Image 过滤器包含了转换。你提供两张图片和一个介于0到1的帧时间;过滤器提供一秒内从第一张图片转换到第二张图片的相应帧。例如下图显示了在0.75秒时的帧画面,正在从纯红色的图片通过星光发射转换动画转换到我自己的图片。(你看不到这张我的图片,因为这个转换,默认会先把第一张图片“爆炸”成纯白色,然后迅速消失,出现第二张图片)驱动一个Core Image 转换过滤器执行动画是由你决定。因此,我们需要反复快速调用相同...…

    iOS继续阅读