App如何适应 iPhone 5s/6/6 Plus 三种屏幕的尺寸?

初代 iPhone2007 年,初代 iPhone 发布,屏幕的宽高是 320 x 480 像素。下文也是按照宽度,高度的顺序排列。这个分辨率一直到 iPhone 3GS 也保持不变。那时编写 iOS 的 App(应用程序),只支持绝对定位。比如一个按钮(x, y, width, height) = (20, 30, 40, 50),就表示它的宽度是 40 像素,高度是 50 像素,放在(20, ...

ReactiveCocoa函数响应式编程在IOS平台下的实践

本文介绍了函数响应式编程思想,通过信号来记录值的变化,同时信号可以被叠加、分割或合并,来处理复杂逻辑,从而实现函数响应式编程。同时本文还介绍了在IOS平台下基于函数响应式编程思想的第三方开源库ReactiveCocoa及其实践。除了介绍ReactiveCocoa的具体编程实践,还介绍了MVVM设计模式,它不同于传统的MVC设计模式,具有低偶和、可重用性、独立开发、可测试性等优点。关键词 函数响应式...
IOS平台 ReactiveCocoa

iOS category解析

category的真面目objc所有类和对象都是c结构体,category当然也一样,下面是 runtime 中category的结构:struct_category_t{ constchar*name;//1 struct_class_t*cls;//2 conststruct_method_list_t*instance_methods;//3 conststruct_method_l...
iOS 开发 category解析

Swift开发的几个小技巧

正所谓掌握一样技术最好的办法就是用它来做一个东西,于是这段时间的实战让我对 Swift 的理解更深了一层,也积累了一些使用技巧。今天就分享一则:如何正确地定义一个类变量(和类常量)。Swift 语言对于无论是静态语言过来还是动态语言过来的开发者来说,都有点点不适应,很多问题的解决思路不能用已经习以为常的方法去做。如何正确的定义一个类变量(和类常量)Swift 支持用 class func 来修饰一...
Swift开发

Objective-C属性修饰符strong和copy的区别

strong和copy的区别问题描述在定义一个类的property时候,为property选择 strong 还是 copy 特别注意和研究明白的,如果property是NSString或者NSArray及其子类的时候,最好选择使用copy属性修饰。为什么呢?这是为了防止赋值给它的是可变的数据,如果可变的数据发生了变化,那么该property也会发生变化。代码示例还是结合代码来说明这个情况@int...
Objective-C 属性修饰符

iOS开发-从16进制颜色中获取UIColor

目前iOS中设置UIColor只能使用其枚举值、RGB等方法,不能直接将常用的16进制颜色值直接转为UIColor对象,所以写了点代码,将16进制颜色值转为UIColor。代码如下,//头文件 #importFoundation/Foundation.h #importUIKit/UIKit.h @interfaceTextServcie:NSObject +(UIColor*)getCo...
UIColor iOS开发

IOS 简洁输入框的实现

我们在朋友圈,qq空间或微博的app看到这样的操作,点击回复,在视图的下面立即显示一个输入框。输入我们的文字后点击发送就可以。那么这个小小的输入框是怎么实现的呢我也试着自己写了一个小小对话框,先看一下样式主要的功能有有一个placeholder的文字作为提示,点击输入文字后消失,当删除后文字为空的时候,重新出现。文本框下面有一条蓝色线表示输入的框范围,类似我们微信里面的那个绿色的输入框文本框需要跟...
输入框 IOS开发

iOS:原生二维码扫描

做iOS的二维码扫描,有两个第三方库可以选择,ZBar和ZXing。今天要介绍的是iOS7.0后AVFoundation框架提供的原生二维码扫描。首先需要添加AVFoundation.framework框架到你工程中build phase的Link Binary With Libraries之下,然后就可以开始了。一、做好准备工作,搭建UIUI效果如图IBOutlet、IBAction如下:@pr...

Objective-C的陷阱与缺陷

Objective-C是一个强大而且非常有用的语言,但是同样也是有一点危险的。这次主题是受到一篇 有关C++陷阱 的文章启发,来聊聊Objective-C和Cocoa中的陷阱。简介我将和Horstmann使用同样的定义:陷阱是能够编译、链接、运行,但却不会按你所预期地去执行的代码。他提供了一个例子,这段代码在Objective-C中和在C++中同样都是有问题的:spanstyle=font-fam...
Objective-C

C++指针的概念解读 超详细

指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。先声明几个指针放着做例子:例一:int*ptr; char*ptr; int**ptr; int(*ptr)[3]; int*(*ptr)[4];指针的类型从语法的角度看,你只...
C++指针 C++