摘要: 我们写出来的代码会给很多人看,为了使代码清晰简洁,方便阅读理解,都会统一遵从一定的代码规范,Objective-C同样如此。 主要参考规范: 1.Google Objective-C Style Guide 2.Coding Guidelines forCocoa 简单总结一下目前接触到... 阅读全文
posted @ 2014-05-19 23:37 colinhou 阅读(3176) 评论(8) 推荐(5) 编辑
摘要: 1.以链库的方式引用第三方库 一些特殊场景可能会要求使用链库的方式使用第三方库,大体设置如下: ①Other Linker Flags里进行设置,格式为-l+库名称 ②Libray Search Paths里设置库的路径地址,注意使用相对路径 ③Header Search Paths设置相关头文件的 阅读全文
posted @ 2017-10-31 23:59 colinhou 阅读(682) 评论(0) 推荐(0) 编辑
摘要: 之前用AVFoundation自定义相机做了拍照与视频相关的东西,为什么要自定义呢?主要是提供更个性化的交互设计,符合app主题,对于视频来说,也便于提供更多丰富有趣的功能。前段时间整理了下拍照部分的功能,主要分为以下五个部分 PS:吐槽一下博客园,图床也太那啥了,回头来看图片丢了好几张,还要重新补 阅读全文
posted @ 2017-09-01 00:15 colinhou 阅读(9975) 评论(1) 推荐(1) 编辑
摘要: 1.地图坐标转换那些事 (1)投影坐标系与地理坐标系 地理坐标系使用三维球面来定义地球上的位置,单位即经纬度。但经纬度无法精确测量距离戒面积,也难以在平面地图戒计算机屏幕上显示数据。通过投影的方式可以将其转换成平面的投影坐标系,不同的投影方式可能会带来不同的变形及误差,类似于把一个橘子的橘子皮剥开摊 阅读全文
posted @ 2016-04-07 09:10 colinhou 阅读(1127) 评论(2) 推荐(2) 编辑
摘要: 产品中接入了微博/微信的第三方登录分享功能、微信和支付宝的第三方支付功能,之前在开发过程中涉及到这些部分,于是抽空将接入过程梳理了一遍。 1.微博、微信、支付宝SDK相关接入设置 (1)微博SDK SDK下载 设置URL Scheme,用于从第三方应用或浏览器中启动app 将SDK添加到工程中(支持 阅读全文
posted @ 2016-04-01 00:12 colinhou 阅读(1984) 评论(0) 推荐(6) 编辑
摘要: 当内容及分类较多时,往往采用顶部标签式导航栏,例如网易新闻客户端的顶部分类导航,最近刚好有这样的应用场景,参考网络上一些demo,实现了这种导航效果,记录一些要点。 效果图(由于视频转GIF掉帧,滑动和下拉动画显得比较生硬,刚发现quickTime可以直接录制手机视频,推荐一下,很方便) 1.顶部标 阅读全文
posted @ 2016-03-16 08:54 colinhou 阅读(4100) 评论(2) 推荐(2) 编辑
摘要: 在一些场景中,需要限制用户的输入字数,例如在textField里进行控制(textView也类似,崩溃原因也相同),如图所示 系统会监听文本输入,需要注意的第一点是输入法处于联想输入还未确定提交的时候,对于第三方输入法例如搜狗,联想状态下的输入,是监听不到,除非点击确定输入到textField,才会 阅读全文
posted @ 2016-03-16 00:30 colinhou 阅读(739) 评论(3) 推荐(0) 编辑
摘要: 1.表单键盘遮挡 应用场景为一个collectionView上有多个textfield、textView供用户填写信息。 之前输入项较少时,采取的方法比较粗暴,didSelectItemAtIndexPath时,记下collectionViewCell距离屏幕底部的间距,再与键盘高度作比较,根据实际 阅读全文
posted @ 2016-02-29 10:04 colinhou 阅读(1007) 评论(1) 推荐(0) 编辑
摘要:     CALayer+CABasicAnimation可以制作很多简单的动画效果,之前的博客中介绍的“两个动画”,一个是利用一张渐变色图片+CABasicAnimation制作的等待转圈动画,还有一个是利用CAShapeLayer制作的随移动距离而渐变的按钮动画,而这次要制作的圆点缩放动画用到的是 阅读全文
posted @ 2016-02-24 10:03 colinhou 阅读(2157) 评论(0) 推荐(1) 编辑
摘要: NSUserDefaults常常用来本地存储一些简单的数据,例如用户信息等等,NSUserDefaults支持floats、doubles、integers、Booleans、URLs、NSData、NSString、NSNumber、NSDate、NSArray、NSDictionary,除此... 阅读全文
posted @ 2016-01-07 20:30 colinhou 阅读(1855) 评论(0) 推荐(0) 编辑
摘要: 远程消息推送处理场景有三种:分别是app还没有运行、app在前台运行以及app在后台运行,下面介绍相关流程及三种场景下处理步骤 首先是在注册远程消息推送,需要注意的是iOS8及以后的系统中注册方法有所改变(同时证书设置以及push权限也需要开启)。这一步的目的是,允许app接收远程消息推送。 dev 阅读全文
posted @ 2015-12-30 09:50 colinhou 阅读(3453) 评论(3) 推荐(3) 编辑
摘要: Text主要总结UILabel、UITextField、UITextView、UIMenuController以及UIWebView/WKWebView相关的一些问题。 UI细节主要总结界面交互开发中遇到的一些细节问题,包括Masonry部分的问题。 动画介绍最近用到的两个,算是常用级别的,动画这部 阅读全文
posted @ 2015-12-21 09:37 colinhou 阅读(2134) 评论(1) 推荐(2) 编辑
摘要: 平时APP中的广告位或者滚动的新闻图片等用到的就是图片轮播这种效果,实现方式主要有两种,一种是ScrollView+ImageView,另一种则是通过CollectionView,今天总结的是ScrollView这种方式。 1.图片轮播效果实现 主要实现思路是:根据图片总数及宽高设置好Sc... 阅读全文
posted @ 2015-06-23 09:14 colinhou 阅读(4015) 评论(2) 推荐(1) 编辑
摘要: 这篇主要总结下iOS开发中多线程的使用,多线程开发一般使用NSThread、NSOperation及GCD三种方式,常用GCD及NSOperation。 1.NSThread 创建线程主要有以下三种方式 需要注意的是对于多个线程可能同时访问一个对象的时候,使用“@synchroniz... 阅读全文
posted @ 2015-06-14 16:19 colinhou 阅读(1021) 评论(4) 推荐(4) 编辑
摘要: 这一篇主要总结iOS开发中进行HTTP通信及数据上传下载用到的方法。网络编程中常用的有第三方类库AFNetworking或者iOS7开始新推出的NSURLSession,还有NSURLSession的前任NSURLConnection。一般情况下,使用AFNetworking即可满足绝大多数要求... 阅读全文
posted @ 2015-06-02 08:41 colinhou 阅读(2367) 评论(5) 推荐(2) 编辑
摘要: 这篇主要总结在iOS开发中XML/JSON数据解析过程用到的方法。XML数据解析主要使用SAX方式的NSXMLParser以及DOM方式的GDataXML,JSON数据解析主要使用NSJSONSerialization。 1.XML解析之NSXMLParser NSXMLParser是iOS... 阅读全文
posted @ 2015-05-31 17:54 colinhou 阅读(1050) 评论(0) 推荐(3) 编辑
摘要: 每一个app有且仅有一个UIApplication,类似UIApplication“[UIApplication sharedApplication]”这种一个类有且仅有唯一实例的设计即单例模式。单例设计及要点 一个单例类设计如下图所示 其中有几点要注意: (1)实例需要用static,防... 阅读全文
posted @ 2015-05-20 01:56 colinhou 阅读(980) 评论(1) 推荐(2) 编辑
摘要: 目前开发的系统里很多控件样式和动画比较复杂,应该是之前同事用Blend做的,这种神器不用太浪费了,自己也准备试试。系统环境Windows7+Visual Studio 20121.Windows7下使用问题之前vs安装时已经选择安装Blend,但在win7下使用还是有问题,提示需要win8系统。通过... 阅读全文
posted @ 2015-05-14 14:41 colinhou 阅读(3188) 评论(2) 推荐(1) 编辑
摘要: 前段时间做了一些小东西,一些关键点记录总结如下1.ToDoList 主要是使用UITableView以及NSUserDefaults完成任务管理,可新建、编辑及删除任务。 因为是Demo性质,所以利用NSUserDefaults做数据持久化,作为一个plist存储在应用的沙盒里。需要注意... 阅读全文
posted @ 2015-05-03 01:14 colinhou 阅读(1164) 评论(0) 推荐(0) 编辑
摘要: 如何在PPT演示过程中无缝衔接演示系统成果?使用PPT自带的WebBroswer控件即可,相当于在PPT里嵌入了浏览器,在这个浏览器里打开系统进行操作演示。环境:Windows 7 + Office2013效果截图(实际中将WebBroswer控件url指向到对应系统地址即可):1.插入WebB... 阅读全文
posted @ 2015-04-09 22:39 colinhou 阅读(1793) 评论(1) 推荐(1) 编辑
摘要: 1.层次布局 由于地图窗口和菜单栏都在一个父容器内,在浏览器缩小到一定程度点击地图弹出infoWindow时,会出现菜单栏遮挡infoWindow中间部分的现象,于是通过设置Canvas.ZIndex来设置显示层次顺序解决这种冲突。2.客户端读取Shp文件 有一个应用场景时用户自定义一个范围进行数... 阅读全文
posted @ 2014-12-21 18:09 colinhou 阅读(1019) 评论(2) 推荐(1) 编辑
摘要: 1.xml/json数据解析 (1)xml数据解析 使用WebClient获取数据,获取到的数据实例化为一个XDocument,使用XDocument的Descendants(XName)方法获得对应节点的数据集合,再通过Element这个方法对数据集合进行筛选,获得指定数据。 参考:htt... 阅读全文
posted @ 2014-10-26 17:36 colinhou 阅读(707) 评论(0) 推荐(0) 编辑
摘要: 这一节主要介绍UITableView以及iPad,Demo为从Flicker下载图片并显示,但是实际过程中发现需要FQ并使用HTTPS连接,所以这次用了两个Demo,一个是课程中的Demo,另一个是简化的。 最后调试过程中还找到Xcode中观察变量的一个小技巧。1.UITableView UI... 阅读全文
posted @ 2014-09-03 07:06 colinhou 阅读(1920) 评论(2) 推荐(3) 编辑
摘要: 1.使用Linq求差集、交集 使用场景: 需要从数据中心获得用户数据,并以此为标准,同步系统的用户信息,对系统中多余的用户进行删除操作,缺失的用户进行添加操作,对信息更新了的用户进行编辑操作更新。 所以需要通过对数据中心以及系统现有用户信息进行比较,分为三部分: (1)Linq取差集,找出需... 阅读全文
posted @ 2014-08-31 14:46 colinhou 阅读(878) 评论(0) 推荐(1) 编辑
摘要: 1.Oracle归档模式产生日志文件引起数据库异常 连接数据库失败,提示监听错误,各种检查监听配置文件,删除再添加监听,无果。 sqlplus下重启数据库数据库依然无果,期间碰到多个错误提示: ORA-01034: ORACLE not available ORA-27101: sh... 阅读全文
posted @ 2014-08-19 20:07 colinhou 阅读(761) 评论(0) 推荐(1) 编辑
摘要: 1.Prism Prism是由微软Patterns & Practices团队开发的针对WPF和Silverlight的MVVM框架。 Prism的几个关键点: (1)启动器类UnityBootstrapper Silverlight程序入口处调用Bootstrapper.Run方法时,P... 阅读全文
posted @ 2014-08-18 00:53 colinhou 阅读(2226) 评论(2) 推荐(2) 编辑
摘要: 这一节主要介绍了多线程中的串行队列以及滚动视图UIScrollView。1 .多线程 这一节只是简单介绍了多线程的串行队列,即把任务加入线程队列后按顺序逐步执行。 (1)目前iOS多线程提供的方法主要是GCD和NSOperation,前者是C语言级别的,后者是经过封装,更具有面向对象特性的... 阅读全文
posted @ 2014-08-11 00:40 colinhou 阅读(1745) 评论(2) 推荐(1) 编辑
摘要: 问题描述:使用Silverlight的RIA Services进行数据库更新操作,重复提交时发现异常,SubmitOperation发生错误,提示实体类冲突,检查发现之前删除的数据竟然还存在(数据库中已经删除),再进行删除操作时,会对数据库中已经不存在的数据进行删除,所以报错。 解决办法... 阅读全文
posted @ 2014-07-28 23:17 colinhou 阅读(804) 评论(2) 推荐(1) 编辑
摘要: 这一部分主要介绍了iOS的绘图、手势、协议、block、力学特效动画(包括重力、碰撞、吸附等)以及自动布局的内容。1、绘图、手势 (1)调用一个自定义的UIView时,可以使用awakeFromNib方法做一些初始化工作。 (2)iOS中绘图需要了解的常用测量单位: CGFloat:浮点值... 阅读全文
posted @ 2014-07-21 08:35 colinhou 阅读(1680) 评论(5) 推荐(2) 编辑
摘要: 1.变量类型别滥用id,如果不仔细容易在程序执行时引发错误,因为在编译阶段编译器只是检测变量对象所属类型,尤其是类型为id时代表任何类型都可以通过检查,但不会检测变量对象调用的方法,这样当对象所属类不包含所写的调用方法时,编译通过,但在程序运行时才会报错。 2.简单介绍了框架自带的集合、字体等... 阅读全文
posted @ 2014-07-13 00:25 colinhou 阅读(1293) 评论(4) 推荐(1) 编辑
摘要: 在确定代码、编译结果和数据库都正常的情况下,无法从数据库取到数据。错误提示:Sysyem.Net.WebException:远程服务器返回了错误:NotFound,监听发现请求数据库的服务异常,访问相关地址HTTP404错误。 向数据库发起的请求异常 访问svc地址后的错误信息 ... 阅读全文
posted @ 2014-06-26 23:30 colinhou 阅读(1365) 评论(0) 推荐(0) 编辑
摘要: 最近从技术支持转到开发岗,做Silverlight部分的开发,用的Prism+MVVM,框架由同事搭好,目前做的主要是功能实现,用到了一些东西,侧重于如何使用,总结如下 1.UI控件与布局 常用的主要是Grid、StackPanel、Border,其中最常用的的是Grid,是一种行列组成的... 阅读全文
posted @ 2014-05-25 17:09 colinhou 阅读(1774) 评论(14) 推荐(10) 编辑
摘要: 1.MVC Model:模型 描述程序是什么,例如数据库操作之类的行文以及纸牌Demo里纸牌玩法都是写在Model这一层,通过Notification和KVO(后续文章会介绍)两种方式与Controller通讯。 Controller:控制层 程序的逻辑在这里组织,Controller负责M... 阅读全文
posted @ 2014-05-18 00:37 colinhou 阅读(2621) 评论(7) 推荐(1) 编辑
摘要: 用到一个Python写的后台服务,需要用到Django,参考Django安装文档,配置过程如下: 1.下载一个用来安装和管理Python包的工具“pip”; 2.下载完成后,运行安装脚本,注意需要管理员权限,使用“sudo”命令。 另外,个人遇到点奇葩状况,进入pip下载页面需要FQ,执行... 阅读全文
posted @ 2014-04-27 11:26 colinhou 阅读(787) 评论(0) 推荐(0) 编辑
摘要: 去年底用XIFF做了一个站内信的功能,还碰到一个比较特殊的GP,本想记录下来,现在才写,很多细节都忘了,还是稍微在这留点线索吧,如果有遇到类似问题的可以再进一步讨论。 Openfire+XIFF,主要是XIFF二次开发,使用Flex,资料比较少,在网上下载一个API帮助,了解用户信息、好友列表... 阅读全文
posted @ 2013-05-05 01:53 colinhou 阅读(793) 评论(0) 推荐(0) 编辑
摘要: 这段时间在做产品安装部署的工作,回顾一些要点,同时也是为了消除收藏夹里那一长串地址,把它们串在此文中。1.VMware Workstation9.0+RHEL5.62.Oracle3.ArcGIS Server 10.0 Java4.Virtualbox5.服务器虚拟化及集群的负载均衡 1.VMware Workstation9.0+RHEL5.6 VMware Workstation9.0下载地址:http://vdisk.weibo.com/s/t328_ RHEL5.6下载地址:http://www.linuxidc.com/Linux/2011-10/44823.htm 安装过程参.. 阅读全文
posted @ 2013-05-04 18:43 colinhou 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 上周做了一次数据处理:根据中国区域的面状数据,得到省界,再由省界边线转换成点,得点坐标并在一个三维场景Openwebglobe里面构造边界,因为暂时只知道由点坐标来构造线。工具:ArcToolbox、Excel过程:1.由面数据得线数据。(由于在三维场景中点数据构造线数据时,其内在渲染方式的问题,... 阅读全文
posted @ 2012-12-25 23:48 colinhou 阅读(914) 评论(0) 推荐(0) 编辑
摘要: 更新:这个例子比之前的更贴切:http://resources.arcgis.com/en/help/flex-api/samples/index.html#/DynamicLayerInfo_JoinDataSource/01nq00000088000000/ArcGIS Server 10.1+Flex API 3.0(至少Server10.1和3.0的API才行)客户端执行GP服务,对得到的数据进行渲染,并生成图例(颜色可自定义)。1.客户端设置好相应参数,并绘图确定分析范围,调用GP服务。2.对GP服务返回的结果进行渲染(用到了DetailsTask和GenerateRendererT 阅读全文
posted @ 2012-12-15 19:09 colinhou 阅读(1429) 评论(0) 推荐(0) 编辑
摘要: ArcGIS Server 10.0+Flex API 2.5. 实现查询定位,目标区域边界高亮。1.使用QueryTask获得查询信息。2.将查询结果以Graphic形式放在GraphicsLayer上。3.对相应graphic设置Symbol,高亮显示,使用SimpleFillSymbol、SimpleLineSymbol,其中SimpleFillSymbol设置为空,设置outline,即实现边界高亮效果。效果图:具体:1.使用QueryTask获得查询信息:where语句中格式需注意,字符的值使用单引号,数字不需单引号。 //省区域查询 protected fu... 阅读全文
posted @ 2012-12-13 08:35 colinhou 阅读(3647) 评论(0) 推荐(0) 编辑
摘要: 之前的GISALL博客:http://www.gisall.com/?uid-139669ArcSDE Post Installation之解决最后的拦路虎:http://www.gisall.com/index.php?uid-139669-action-viewspace-itemid-6917ArcGIS Server+Flex API:使用ArcGIS.com提供的底图资源:http://www.gisall.com/index.php?uid-139669-action-viewspace-itemid-6791ArcGIS Server+Flex API:GP服务&& 阅读全文
posted @ 2012-11-18 17:54 colinhou 阅读(704) 评论(0) 推荐(1) 编辑