自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 Swift 构造过程 2

类的代理规则 在Swift中对于类的构造有如下规则: 1. 子类中的指定构造器必须调用父类的指定构造器(如果本身是父类可以忽略这条) 2. 一个类的便利构造器必须调用这个类的其他构造器(横向代理) 3. 一个类的便利构造器必须最终调用这个类的指定构造器(竖向代理)

2017-04-20 16:33:49 508

原创 Swift 构造过程 1

Swift 的类、结构体、枚举构造完成后它们的所有存储属性一定有一个值 存储属性可以在声明的时候直接给定一个默认值或者在构造的时候赋值,可选属性在初始化的时候会被赋值nil构造器的语法自定义外部参数名称struct Counter { let max : Int var min = 9 var current:Int? //自定义外部名称 init(ma

2017-04-20 16:25:29 475

原创 iOS获取通讯录

获取通讯录有的时候我们需要获取用户的通讯录信息上传给服务器,对于iOS来说iOS9之前和之后有不同的方法用于获取通讯录信息。iOS9之前在9之前的版本获取通讯录信息是通过ABAddressBookCopyArrayOfAllPeople 来获取所有联系人的信息的。所有的联系人信息被保存在一个数组里面,我们只需要遍历整个数组就可以获取我们想要的信息的。下面以获取所有联系人的姓名和电话号码和唯一识别码为

2017-04-17 17:11:54 1579

原创 ES6语法整理

关于Let Var1、let不会发生变量的提升,Var会发生变量提升 2、Let是块级作用域 3、暂时性死区 关于箭头函数1、箭头函数的初识2、箭头函数绑定this 异步相关1、Promise对象可以用来表示一个异步操作 2、async - await 简化异步操作写法 2.1最后我们模仿一下fetch以便加深你的印象

2017-02-06 10:11:37 901

原创 React Native Navigator 的路由以及页面跳转

移动端有个常用的UI控件导航控制器,在RN里面就是Navigator控件。今天在说Navigator之前先说个不是很恰当的比喻用来解释Navigator的工作流程:平时在看电视的时候我们都会用遥控器切换电视机播放的频道,在遥控器上面你不仅可以使用上一个、下一个这种按键来切换频道也可以手动输入频道数来跳转到指定的频道,在我看来这个过程就是使用navigator进行页面跳转的过程。至于你跳转到指定频道后

2017-01-03 17:21:18 14568 1

原创 React Native 与iOS的通信

RN可以很好的与原生进行交互,我们首先看看效果吧: 首先我们来看看React Native 怎样调用iOS的代码并且带有简单的参数: 在iOS工程里面我们新建一个类iOSExport,iOSExport将会实现RCTBridgeModule协议。 首先我们要在iOSExport类的实现中添加这句宏定义:RCT_EXPORT_MODULE() RCT_EXPORT_MODULE()如果你不传入

2016-12-13 10:13:39 6863 3

原创 React Native FlexBox布局

这段时间熟悉了一下ReactNative,里面的布局感觉很有意思,跟我以前接触的布局思想有很大不同,所以就自己测试了一些FlexBox的属性,一下是效果图: RN的布局主要依赖于FlexBox系统,它有如下几个主要属性: flex 视图的比重,这里注意了:In React Native flex does not work the same way that it does in CSS

2016-12-01 16:47:26 2533

原创 iOS10 语音识别

iOS10苹果开放了语音识别接口,这让我们可以自己自由的把音频转为文本了。iOS的语音识别主要分为识别音频文件和识别音频缓存(按我的理解就是识别音频输入流达到实时转换的效果)。 因为iOS10对权限的要求更严格了所以在一切的工作之前我们要在info.plist文件里面增加两个节点。第一个节点:key: Privacy - Speech Recognition Usage Description

2016-10-14 11:24:34 5618 2

原创 Swift中的枚举

相比OC中的枚举而言,Swift中的枚举功能更强大,也新增了很多特性,今天就简单的罗列一下。 枚举使用case关键字来定义新的成员,可以一行写但是要以逗号分开也可以多行写。 在Swift中枚举类型有个关联值,对于枚举成员来说它可以有任意类型的关联值://定义枚举(关联值)enum Value { //使用关键字case 定义新的枚举成员 case ValueOne ca

2016-10-11 16:24:59 565

原创 Swift 中异常抛出和四种异常处理

在Swift中你可以像其他语言一样抛出异常处理异常,今天我们就详细地说说Swift中的异常抛出和处理。 在一开始我们要定义错误或者说是异常,Swift中的一些简单异常可以使用枚举定义,注意这个枚举要继承一个空协议Error,如下代码:enum OperationError : Error { case ErrorOne case ErrorTwo case ErrorThr

2016-10-09 14:35:30 15983

原创 自定义环形进度条UIAnnularProgress(Swift)

很多地方都会使用环形进度条,这里我们就继承自UIView,自定义一个环形进度条控件,可以设置进度条颜色,宽度,进度,动画效果。我们自定义一个环型图层添加到UIView的图层上去,从而实现环形控件。我们使用CAShapeLayer类创建自己的图层。它有几个常用的属性:frame 尺寸,fillColor图层填充色,strokeColor图层边界的颜色,lineWidth 边界线宽,path 图层路径通

2016-09-27 11:23:32 3800 2

原创 OC 动态库的调用包括动态设置属性值,调用方法,设置代理实现代理方法

最近做了个动态更新模块的功能,是使用动态库来完成的。因为要求动态更新所以就不方便引入头文件了这里就只好采用动态调用动态库的方法了。具体包含以下几个方面:创建对象并设置属性值,调用对象的方法这个方法包括类方法(静态方法)和对象方法,设置对象的代理并实现代理方法。 在一切开始之前我们要先加载动态库这个在前面的博客中有说明的感兴趣的可以去看看。 首先创建对象这个很简单OC中有个方法NSClassFro

2016-09-18 14:44:49 1365

原创 iOS生成二维码(中间包含图片),长按识别二维码(Swift)

在iOS中有个类CIFilter,通过这个类可以创建各种特定的过滤器,今天我们主要介绍一种二维码发生器(CIQRCodeGenerator)滤镜,通过这个滤镜可以自动生成我们需要的二维码。首先我们要创建一个二维码滤镜: //创建二维码滤镜 let qrCIFilter = CIFilter(name: "CIQRCodeGenerator")注意,这

2016-08-17 18:01:00 2908

原创 iOS重力行为、碰撞行为和吸附(Swift)

iOS有模仿物理环境的动态动画,今天就简单的给视图添加重力效果和碰撞效果首先使用一个参考视图也可以理解为背景视图创建自动动画:dynamicAnimator = UIDynamicAnimator(referenceView: self.view)并且我们创建两个一大一小的视图: var dynamicAnimator = UIDynamicAnimator() var litter

2016-08-16 15:45:20 2609 1

原创 iOS后台下载图片并实现本地通知(Swift)

有的时候我们需要APP进入后台后能够自动下载更新一些东西所以这里就说下iOS程序的后台下载任务,前面的博客说过要想进行后太任物就要在plist文件中进行注册,这里注册Required background modes选项,值是App downloads content from the network。当然了你如果不想注册还有个方法就是在Capabilities选项栏下开启Background Mo

2016-07-27 16:16:43 1215

原创 iOS NSKeyedArchiver序列化后进行数据持久化(swift)

NSKeyedArchiver序列化就我简单理解就是把iOS中的类转换为二进制数据,我们可以方便的把而进制数据存起来。接下来分别以iOS原有的类和自定义的类序列化存储做简单的说明: 使用NSUserDefaults存储一个很小的图片,当然了我们要知道实际存储的是一个二进制数据所以我们需要序列化:将图片转换为二进制数据NSKeyedArchiver.archivedDataWithRootObje

2016-07-27 14:28:58 2880

原创 iOS UITextView(swift语言)

UITextView通常用来显示大量的文本,当然了也是可以输入编辑的跟UITextField作用差不多,但是也有一点区别。接下来先看代码再细说: func creatTextView() { let textView = UITextView(frame: CGRectMake(10, 50, 250, 200)) textView.backgroundColor =

2016-07-27 10:06:46 919

原创 iOS 的本地推送(swift实现)

以前曾经写过iOS的远程推送那时候是用OC语言实现的,现在简单的介绍一下iOS的本地推送 相比远程推送本地推送省略了麻烦的证书问题所以很简单。 一样的我们在程序的开始都需要注册推送: func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObj

2016-07-26 18:28:37 2776

原创 Swift 给图片添加水印

要给图片添加一个水印感性的想想其实就是在图片上面绘制文字,一般有如下几步:第一要获取到画布;第二要在画布中绘制文字;第三获取到新的图片。不啰嗦了看代码具体和注释这里我是给UIImage这个类添加了一个拓展import Foundationimport UIKitextension UIImage { func drawTextInImage()->UIImage { /

2016-07-26 17:47:44 2199

原创 上传文件到服务器

在web工程中一般会遇到上传文件到服务器的需求,在spring mvc中要先配置<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize">

2016-07-15 15:35:46 1829

原创 Spring MVC配置及拦截器的实现

如题所示,这里主要是介绍拦截器的使用了但是为了更贴合实际的项目所以我们先导入spring mvc框架。为了使用spring mvc我们要导入相关的包,它依赖于spring-web 和spring -webmvc我这里的版本是4.0.6的。将相关的包导入到工程中并且添加编译路径后我们再在web.xml文件中配置spring mvc。 前面说过配置一个基本的servlet时要配置和这两个标签,同

2016-07-15 10:18:05 15986

原创 开始使用spring

spring的功能很强大,使用也很简单,可以说是我见到的解耦合性最强的框架了,首页在使用前我们需要导入spring的包, 从spring官网下载的lib中我们选择这七个导入到工程中: 此外还有一个spring的依赖包也需要导入:commons-logging-1.1.3.jar,这是apache的包: 依赖包下载链接 这些导入工程后我们就可以直接使用spring了,我们准备了两个类,一个是普

2016-06-02 10:54:56 6753 1

原创 mybatis的简单使用

在java web工程中对于数据库的操作基本都是通过mybatis库操作的,下面就简单的介绍初步的使用过程。 首先我们建立了测试用的数据库mybatis:create database mybatis;use mybatis;create table users(id int primary key auto_increment,name varchar(20),age int);inser

2016-06-01 15:16:04 374

原创 Java服务端读取excel文件xls格式内容

最近需要读取从客户端发送过来的excel文件内容,excel文件的格式是事先规定好的不变的。所以就研究了一下,因为是自己写的需要测试所以先写了个简单的网页上传文件,看客户端上传文件代码:<html><body><div class="offset1 span10 container-fluid"> <form id="firmForm" class="form-hori

2016-05-31 14:51:41 8199

原创 java 动态代理实现

最近在写Java服务器,一边学一边做,所以很多基础的不是很清楚,遇到了拦截器都说本质是动态代理。所以好好的看了下。 java的代理用我的理解就是:为了在接口的方法执行之前或之后添加一些相关操作所以绕个圈用反射获取方法再执行,这么做更多的是考虑代码的可拓展性和解耦合。 jdk的动态代理是基于实现接口完成的,所以我们首先要定义接口,这里我们定义两个接口:public interface DrinkS

2016-05-31 12:00:09 390

原创 swift -UITextField

这接上代码吧:import Foundationimport UIKitclass CreateTextField: UITextField{ init(){ super.init(frame: CGRectMake(0,100, 200,100)) //边框样式 self.borderStyle = .Bezel //提示文字

2016-05-04 18:24:20 455

原创 swift 使用UIButton

这是关于UIButton的使用,将介绍也写button的属性,里面的代码我会把注释全部去掉,你可能连起来看会出错,但是单独看一个一个属性或者方法是没有问题的import Foundationimport UIKitclass CreateButton: UIButton { var target:ViewController? init(target:ViewController

2016-05-04 18:14:17 1120

原创 swift语言UILabel的使用

好记性不如烂笔头这个在这么多年的学习生涯中我是深有体会,所以接下来的内容会比较简单,但是还是记下来了。不啰嗦了我们先上代码其他的然后再说:import Foundationimport UIKitclass CreateLabel: UILabel { func createLabel() ->UILabel { let label = UILabel(frame:CG

2016-05-04 18:03:53 1235

原创 Swift中代理的使用

最近几天在学习swift的语法,在看到swift的官方教程对于代理的介绍时给的示例代码比较复杂所以产生了一个仿照OC中对于代理传值的使用方法写个简单易懂的示例方便学习:首先写个协议,这个协议只有一个方法用于获取值protocol TransmitDelegate { func successTransimt(random:Double)}然后写个类这个类实现了这个协议(用获取的值实

2016-04-18 10:53:33 1146

原创 iOS将多个第三方sdk打包成静态库

前段时间做了个sdk打包成动态库,发现使用非常方便各种好处也特别多,然后在最后将APP打包时出问题了,打包时候动态库打不进去,想了很多办法还是没有解决,又因为赶时间所以只能重新打成静态库了。  在打成静态库的时候遇到的最大的问题就是我这个sdk包括了很多的第三方SDK,里面有很多静态库。所以就是静态库中包含静态库,在此啰嗦一下,打包时动态库是可以直接将静态库打包进去的,而静态库中是没有办法

2016-04-06 16:54:12 10931 2

原创 iOS横竖屏问题

最近突然被告知要适配横屏,当然最麻烦的是你还不知道iOS工程到底允不允许横屏,或许说的有点绕口,待会儿看会细说的。其实很想感慨一句:各种奇葩的合理不合理的需求都会遇到的,做为程序员能做的只有打好基础才能应对各种情况。 先说几个API吧,获取iOS项目工程自带的plist文件:NSDictionary *plist = [[NSBundle mainBundle] infoDictionary];

2016-03-31 14:52:58 996

原创 不接入微信sdk,在APP中实现微信分享,支付

前段时间在很多地方接入了微信的sdk,发现过程比较繁琐,此外因为导入的sdk比较大会影响最终APP打包的体积,所以就有了不接入sdk也实现相同的功能的想法。要实现这个目标我个人认为最困难的地方是不知道我们自己的app在调用微信时会传递怎样的参数给微信。如果知道了参数那么实现这个目的就比较简单了后来经过了一番波折最终获取到了微信分享好友和朋友圈以及微信支付的通信参数。 进入正题吧,首先要在一个AP

2016-03-25 18:06:17 5729 1

原创 使用NSURLSession发起HTTPS网络请求

最近需要发送https请求,所以就封装了一个使用NSURLSession发起HTTPS请求的类,以post请求为例看代码。 首先在.h文件中会暴露出一个对象方法,用于发起post请求: - (void)postRequstUrl:(NSString *)url andJsonParam:(NSString *)jsonParam; 然后会有一个代理用于接受网络请求的结果:@protocol

2016-03-17 12:03:09 2990

原创 iOS中制作动态链接库Framework

这几天在做个SDK遇到了很多问题,现在做完了想把制作Framework的过程分享出来(我这个SDK中也包含了其他的第三方很多Framework,所以踩了很多坑)首先需要创建个Framework工程:然后需要会有个“工程名.h”文件,有这么一句话:In this header, you should import all the public headers of your

2016-03-14 17:46:51 3952

原创 iOS的推送教程

前段时间公司的项目需要用到推送所以就这个方面做了些工作,现在想总结出来给大家共同分享。生成java服务端的推送证书,具体的推送注册,接收方法

2016-02-18 17:28:37 571

原创 iOS的计步实现

关于ios的计步是要区分版本的,iOS7以下,iOS7,iOS8和之上是要区分的。关于iOS8和之上是采用​CMPedometer的,要先判断是否有计步器可用:[CMPedometerisStepCountingAvailable]​ 看代码if (IOS8) { if ([CMPedometerisStepCount

2016-02-18 17:21:39 1291

原创 对iOS的UIWebView的封装,实现与html5的交互

近期做了个项目里面需要加载网页,里面要求点击网页然后ios可以响应,点击ios的界面可以调用html5的代 码。为了实现这个要求,并且尽量做到代码的复用就自己实现了个类继承自UIWebView。 首先我是采用javaScroptCore这个系统库实现原生和html5交互的。并且写了个协议用来进行类跟类间的通

2016-02-18 17:09:35 4007

原创 iOS项目接入高德skd

前段时间做了个项目需要用到地图,虽然iOS有内置的地图API但是还是决定直接接入高德地图。首先要按照文档接入高德sdk这没有什么好说的。 看代码。首先要创建地图 [MAMapServices sharedServices].apiKey = @"5071a08ef9f79377e5a929362aef916e"; _mapView = [[MAMapView alloc] initWithFra

2016-02-18 16:47:24 1325

HTML5与CSS3基础教程(第八版)中文高清版.pdf

HTML 和 CSS 简介 万维网成功的根基,是一种基于文本的标 记语言,它简单易学,并且能被任何带有基本 Web浏览器的设备识读,它就是HTML。每个网 页都或多或少会用一点儿HTML,否则也就不能 称为网页了。 随着不断深入细致地学习,你会了解 到,HTML用于定义内容的含义,而CSS用于定 义内容和网页如何显示。HTML页面和CSS文件 (样式表,stylesheet)都是文本文件,因此很容 易编辑。后面的“如何学习本书”会向你展示一 些HTML和CSS的代码片段。 从第1章起,我们开始学习基本的HTML页 面;从第7章起学习用CSS定义页面样式。关于 本书各章内容概述及主题汇总,请参见“本书 涉及内容”。 HTML一词通常泛指这门语言本身,而HTML5 7 则指代这一特定版本的HTML,比如讨论HTML 早期版本所没有的HTML5新特性时。这样的规 则也适用于CSS(泛指)和CSS3(特指CSS3)。 1. HTML与HTML5 了解一些有关HTML起源的基础知识对于理 解HTML5很有帮助。 HTML诞生于20世纪90年代初,用于详细规 9 定少量构建网页的元素。这些元素中的大多数都 用于描述网页内容,如标题、段落、列表、指向 其他网页的链接等。随着更多元素的引入以及对 语法规则本身的调整,HTML这门语言的版本号也 在更新。当前最新的版本便是HTML5。 HTML5是HTML早期版本的自然延续,它 尽可能地满足了当前网站和未来网站的需求。它 从以前的版本中继承了大部分特性,这意味着, 如果你在HTML5出现之前编写过HTML,那么 你已经知道很多关于HTML5的知识了。这也意 味着,HTML5的大部分内容都可以兼容新旧浏 览器。向后兼容是HTML5的一项重要设计原则 (参见www.w3.org/TR/html-design-principles/)。 HTML5还增加了大量新的功能。很多新功 能都很简单,比如用于描述内容的辅助元素(如 article、main、 gure等);还有一些用来协助创 建强大Web应用程序的新功能则较为复杂。只有 牢牢掌握了创建网页的技能,才能去学习HTML5 更复杂的功能,这也是本书强调基础知识的原 因。HTML5还引入了原生的音频和视频播放功 能,书中也会讲到。 2. CSS与CSS3 CSS的第一个版本是在HTML诞生几年后才 出现的,正式推出是1996年。同HTML5与其早 期版本的关系一样,CSS3也是CSS早期版本的 自然延续。 CSS3比CSS早期版本更为强大,它引入了大 量的视觉效果,如阴影、圆角、渐变等。(关于 本书涵盖这方面信息的详细情况,请参见“本书 涉及内容 ”。)

2017-10-19

swift基本语法示例代码

这是在学习swift语法时写的一些小代码片段主要是关于swift基本语法的使用

2016-04-19

iOS自定义画板的实现

这是一个自己实现的画板功能,可以选择线条的颜色,宽度,实现橡皮擦和撤销功能还可以将画的图像保存到相册

2015-08-31

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除