Webpack3简单入门2

2017-12-28
阅读 4 分钟
2.2k
本工程代码 创建工程 {代码...} 通过配置文件来使用 webpack 添加 webpack.config.js 文件。如下: {代码...} __dirname 是 node.js 中的一个全局变量,它指向当前执行脚本所在的目录 接下来只要执行 $ yarn run webpack 即可。 配置执行脚本命令 在 package.json 中添加: {代码...} 接下来可以执行 $ yarn start 即可...

Webpack3简单入门1

2017-12-28
阅读 1 分钟
2.1k
使用 yarn 测试 webpack 的使用教程。 本工程代码 创建工程 {代码...} 安装 webpack {代码...} 添加工程内容 {代码...} {代码...} 编译运行 {代码...} 说明 如果过程中发生错误,yarn会在工程根目录下自动生成yarn-error.log文件。 关于 yarn

一个拼图软件项目Demo

2017-06-02
阅读 1 分钟
3.4k
这是一个美图秀秀中拼图模块的简单实现,有兴趣的同学可以参考看看。 视频效果:链接描述 截图: 编辑中的图: 拼接生成的图:

ios自定义图片选择器

2017-05-12
阅读 1 分钟
2.8k
自定义的一个ios图片选择器 目前并未正式上线cocoapods官方,但是可以拉取过来使用

IOS-Swift开发——自定义底部菜单

2017-02-23
阅读 1 分钟
4.2k
自定义底部菜单:源代码 使用方法: {代码...} 运行效果: 支持多个item的列表显示:

XCode8源码编辑器拓展开发

2017-01-01
阅读 8 分钟
3.5k
XCode8起,XCode不在支持插件,Alcatraz不能再使用了。苹果提供了XCodeKit源码编辑器拓展,使用它开发出XCode拓展来代替以前的插件。

ReactiveCocoa 4 如何使用冷热信号

2016-12-18
阅读 9 分钟
3.1k
ObjectiveCBridging RACSignal -> Signal, SignalProducer RACCommand -> Action RACScheduler -> SchedulerType RACDisposable -> Disposable 具体可以参看ObjectiveCBridging.swift

IOS-Swift开发——自定义下拉框

2016-11-26
阅读 1 分钟
8.4k
下拉框在许多软件中都常被使用,ios没有提供,这里开发了一个。 使用方法: {代码...} 运行效果:

Swift 3 新特性

2016-11-13
阅读 2 分钟
4k
Swift的Any类型可以处理任何类型(包括枚举,结构体,元组,类),AnyHashable可以作为Set,Dictionary的键NSArray, NSDictionary, NSSet分别对应[Any] [AnyHashable:Any] Set[AnyHashabel]NSCopying, NSMutableCopying协议的copy(with:),mutableCopy(with:)都返回Any

Objective-C Tips

2016-11-11
阅读 2 分钟
2k
尽量使用字面量:NSString,NSNumber,NSArray,NSDictionary.字面量形式创建:使用@表示,@"nsstring obj", @1, @[@"val1", @"val2"], @{@"key":@10 }。

Swift Tips

2016-11-01
阅读 4 分钟
2.1k
Int和CPU架构有关 在32位CPU上(iphone5及以前)是Int32,64位上(5s及以后)为Int64。UInt同理。 可选链式调用 可选链式调用失败时,等号右侧的代码不会被执行 {代码...} @autoclosure autoclosure可以把表达式转化为闭包。 {代码...} assert & fatalError assert是Debug时才起效,Release下不起效。而fatalError无...

iOS编译提示和导航提示

2016-11-01
阅读 1 分钟
1.8k
#pragma mark 导航栏中显示提示,用于组织代码 {代码...} #pragma clang diagnostic 使用#pragma clang diagnostic XXX动态修改编译选项 {代码...} #pragma unused 使用#pragma unused(xxx)忽略没有使用变量的编译警告 {代码...} #warning 使用#warning xxx在编辑器中手动生成一个警告 #error 使用#error xxx在编辑器中...

IOS-Swift开发——自定义Toast

2016-09-10
阅读 1 分钟
5.2k
类似Android中常用的Toast,由于ios原生并未带有,采用UIView-Extend自定义了一个: 源码:github 使用方法: {代码...} {代码...} {代码...}

IOS-Swift开发基础——后台下载

2016-07-07
阅读 2 分钟
3.7k
正常程序进入后台后,会在几秒内停止工作;要想申请更长的时间,(最长10分钟),需要用到beginBackgroundTaskWithExpirationHandler/endBackgroundTask

IOS-Swift开发基础——触控和手势

2016-03-30
阅读 5 分钟
5.6k
手势事件 UITapGestureRecognizer(点击手势) UIPanGestureRecognizer(拖动手势) UIPinchGestureRecognizer(缩放手势) UISwipeGestureRecognizer(擦碰手势) UIRotationGestureRecognizer(旋转手势) UILongPressGestureRecognizer(长按手势) 添加和移除手势: {代码...} 下面代码简单演示各个手势用法: {代码...

IOS-Swift开发基础——使用相机拍照

2016-03-25
阅读 2 分钟
8.5k
先设置ViewController继承UIImagePickerControllerDelegate, UINavigationControllerDelegate。

IOS-Swift开发基础——通知

2016-03-24
阅读 4 分钟
4.9k
NSNotificationCenter NSNotificationCenter是专门供程序中不同类间的消息通信的。使用它为我们代码降低耦合。 自定义数据监听 注册监听: {代码...} 移除监听: {代码...} 监听函数: {代码...} 发送消息: {代码...} 默认监听 addObserverForName监听方法 {代码...} postNotificationName 系统会发送很多消息,如: UIA...

IOS-Swift开发基础——检测网络状态

2016-03-22
阅读 2 分钟
5.3k
检测网络状态可以用Apple-Reachability的例子里的Reachability类(objective-c),拷贝到我们的项目里,然后导给Swift用。 另外,github上也有个Swift版本的Reachability:[链接] 将里面的Reachability.swift扒过来,加入我们的工程中。然后如下使用: {代码...}

IOS-Swift开发基础——网络通信

2016-03-21
阅读 2 分钟
3.1k
NSURLSession {代码...} IOS9需要设置如下: Alamofire Alamofire Alamofire是个第三方的Swift语言的HTTP网络开发工具包,基于NSURLSession,但是更娇便于使用。 {代码...} 和SwiftyJSON一起用: {代码...}

IOS-Swift开发基础——文件管理

2016-03-19
阅读 1 分钟
3.7k
IOS应用只能访问自己应用目录下的文件。默认情况下,每个沙盒含有3个文件夹:Documents, Library 和 tmp。Library包含Caches、Preferences目录。

IOS-Swift开发基础——JSON处理

2016-03-19
阅读 3 分钟
3k
SwiftyJSON 与NSJSONSerialization比较 NSJSONSerialization的方法: {代码...} NSJSONSerialization使用起来还是不太爽,下面对比下SwiftyJSON: {代码...} {代码...} 安装方法 方法一,直接用swift源码 可以将SwiftyJSON-master/Source/SwiftyJSON.swift 拷贝到自己的项目中 方法二,可以将的SwiftyJSON整个拿去当项目...

游戏算法实践——俄罗斯方块

2016-03-03
阅读 1 分钟
5.3k
和传统的玩法一样,可以旋转Rotate, 左右移动,快速下降。上方有统计分数,每消除一行就加50分,随着分数长高,难度增加(下降速度变快)。

游戏算法实践——A星寻路

2016-02-28
阅读 1 分钟
7.5k
如图中亮绿色点为起点,蓝点为终点,白色为墙体不可行走。黄色点区域为被试探到的位置,绿色的路径为最后的最短路径。其中这里移动规则是只能上下左右移动。

OpenGL ES2 学习教程8——纹理包装&Mipmap纹理

2016-02-15
阅读 3 分钟
6.8k
(Texture Coordinate Wrapping) 当纹理坐标超过了范围 [0.0, 1.0] 时纹理包装被使用。纹理包装模式使用glTexParameter[i|f][v]设定。纹理包装模式能被独立的设定为s坐标和t坐标。GL_TEXTURE_WRAP_S定义s坐标超出范围 [0.0, 1.0] 的情况。GL_TEXTURE_WRAP_T设定t坐标。

OpenGL ES2 学习教程7——纹理

2016-02-14
阅读 3 分钟
3.4k
 纹理 texture 2D纹理 2D纹理是一个二维的图像数据阵列,贴图的坐标写作(s,t)图像的左下角是坐标(0,0)。 立方体纹理 由六个独立的2d纹理组成的,在3D渲染时有很有很多优点,最基本的用法是环境映射。 纹理对象 贴图应用的第一步是创建纹理对象。贴图对象是包含一个图片数据过滤模型包装模型等用于贴图数据的容器。...

OpenGL ES2 学习教程6——顶点缓存对象

2016-02-05
阅读 3 分钟
4.3k
顶点数据被存储在客户端内存中,调用glDrawArrays或glDrawElements就可以将数据拷贝到绘图内存中,用于绘制。如果不用每次进行拷贝数据将显著提高渲染效率。这就要用到VBO(vectex buffer objects)。VBO允许GLES应用去分配和存储顶点数据到高效的绘制内存中,从这里直接渲染。不仅是顶点数据,甚至描述的顶点原始索引也...

OpenGL ES2 学习教程5——顶点属性

2016-02-04
阅读 4 分钟
4.8k
一个属性可以声明在一个顶点着色器,但如果它不使用,那么它是不被激活的。你能使用glGetActiveAttrib查询一个被激活的属性内容。GL_ACTIVE_ATTRIBUTES

OpenGL ES2 学习教程4——Shader语言

2016-02-03
阅读 4 分钟
8.1k
shader语言可以看成是特殊的C语言,专门用来创建顶点片段着色器程序的语言。像第二节里的程序 {代码...} 基本类型 标量 float int bool 浮点矢量 float vec2 vec3 vec4 整数矢量 int ivec2 ivec3 ivec4 布尔矢量 bool bvec2 bvec3 bvec4 矩阵 mat2 mat3 mat4(分别是22,33,4*4的浮点型矩阵) void类型(表示没函数返回...

OpenGL ES2 学习教程3——Shader对象和Program对象

2016-02-02
阅读 2 分钟
5.1k
着色器渲染中需要使用Shader对象和Program对象两个基本对象,首先每个着色器源码要被加载到一个Shader对象,然后被编译。然后Shader对象被加载到Program对象并执行链接(link),链接后产生可执行的代码。如果一个链接后的P对象呗使用(use),则其中的可执行代码会分别用于顶点和片段的处理。

OpenGL ES2 学习教程2——HelloOpenGLES2.0

2016-02-02
阅读 6 分钟
7.3k
和ES1.0不同,ES2.0引入了可编程管线,如下图中,可编程阶段为VertexShader,FragmentShader顶点和片段着色器阶段。