IOS详解TableView——选项抽屉(天猫商品列表)

摘要: 在之前的有篇文章讲述了利用HeaderView来写类似QQ好友列表的表视图。这里写的天猫抽屉其实也可以用该方法实现,具体到细节每个人也有所不同。这里采用的是点击cell对cell进行运动处理以展开“抽屉”。最后完成的效果大概是这个样子。主要的环节:点击将可视的Cell动画弹开。其他的Cell覆盖一层半透明视图,将视线焦点集中在弹出来的商品细分类别中。再次点击选中的或其他Cell,动画恢复到点击之前所在的位置。商品细分类别属于之前写过的九宫格实现。这里就不贴代码了。之前的文章:点击打开链接这里的素材都来自之前版本天猫的IPA。加载数据一个ProductType数据模型,记录名称,图片名称等。单元 阅读全文
posted @ 2014-02-17 20:18 李志斌 阅读(869) 评论(0) 推荐(0) 编辑

IOS飞机大战OC版

摘要: 前一阵子看到了很多版本的打飞机游戏,有Java版的C++版本的还有C语言版的。。。这几天闲着的时候写了一个OC版的,也正好是因为答应朋友写这个游戏来把飞机都换成他照片- -。没有用Cocos2d框架,用的QuartzCore中的CADisplayLink来完成。先看下完成后的效果简单的架构思路设计如下:图片资源与音乐资源都以单例方式实现模型,在需要的地方调用。核心部分是对每秒60帧刷新方法中的处理。self.gameTimer = [CADisplayLink displayLinkWithTarget:self selector:@selector(steps)];[self.gameTim 阅读全文
posted @ 2014-02-16 15:20 李志斌 阅读(1245) 评论(0) 推荐(0) 编辑

IOS仿网易新闻客户端左右侧栏

摘要: 左右侧栏已经是当前APP最流行的布局,很多客户端软件都使用了左右侧栏,例如网易新闻,人人网,Weico等等。这篇博客以当前网易新闻客户端的模式为例仿写了一个左右侧栏架构实现。先看一下Demo的实现效果实现主要思路以及细节:视图控制器有三个视图按不同层次排列,最上层的是主要显示视图_mainContentView,下面的为左右侧栏视图;点击左侧栏不同按钮压入不同的主视图控制器;在显示侧栏时点击视图空白区域闭合,利用tap手势;拖动主页面根据不同的方向和位置进行移动和缩放, 利用pan手势;向右拖显示左侧栏,向左拖显示右侧栏;首先,点击左侧栏时,左侧栏将点击的数据模型传给分栏控制器,让其更改主视图 阅读全文
posted @ 2014-02-16 15:05 李志斌 阅读(582) 评论(0) 推荐(0) 编辑

百度2014移动研发笔试题目——1013清华版

摘要: 一.简答题1.简述计算机的存储系统分为哪几个层次,为什么这样的分层能够提高程序的执行效率。2.浮点数在计算中如何表示,如何对浮点数判等。3.简述TCP与UDP协议的差别,两者与HTTP的关系。并列举HTTP的方法,以及常见的返回状态码。二.算法与程序设计1.设计一个反转字符串的函数 char *reverse_str(char *str),不使用系统函数。2.给定一个字符串,(1,(2,3),(4,(5,6),7)),使它变为(1,2,3,4,5,6,7),设计一个算法消除其中嵌套的括号。(c/c++)3.使用C语言实现htonl(将long性转为网络字节码),不使用系统自带函数。三.系统设计 阅读全文
posted @ 2014-02-16 14:48 李志斌 阅读(146) 评论(0) 推荐(0) 编辑

为什么寄存器比内存快?

摘要: 计算机的存储层次(memory hierarchy)之中,寄存器(register)最快,内存其次,最慢的是硬盘。同样都是晶体管存储设备,为什么寄存器比内存快呢?Mike Ash写了一篇很好的解释,非常通俗地回答了这个问题,有助于加深对硬件的理解。下面就是我的简单翻译。原因一:距离不同距离不是主要因素,但是最好懂,所以放在最前面说。内存离CPU比较远,所以要耗费更长的时间读取。以3GHz的CPU为例,电流每秒钟可以振荡30亿次,每次耗时大约为0.33纳秒。光在1纳秒的时间内,可以前进30厘米。也就是说,在CPU的一个时钟周期内,光可以前进10厘米。因此,如果内存距离CPU超过5厘米,就不可能在 阅读全文
posted @ 2014-02-16 14:47 李志斌 阅读(152) 评论(0) 推荐(0) 编辑

常见的排序算法

摘要: 近来由于手上有两个项目要写,没有时间构思和写博客= =。现在属于校招季,计算机原理,算法和数据结构,c语言基础属于最重要的。这里把常考到的常用排序算法简单汇总了下。包括冒泡排序,简单选择排序,直接插入排序,希尔排序,堆排序和快速排序。刚看到CSDN也有oc的代码模板了:)以后估计方便了不少。 阅读全文
posted @ 2014-02-16 14:42 李志斌 阅读(194) 评论(0) 推荐(0) 编辑

IOS中常见的Operation —— NSOperation

摘要: NSOperation在应用需要进行异步处理时,我们需要选择一下异步处理的方式,GCD通常是一个不错得选择,但是也许需要更加面向对象的方式,那么就会使用NSOperation队列,队列中需要执行的操作代码放在NSOperation的子类中。子类将操作的数据和待执行的代码封装起来加入到队列中。NSOperation类是一个抽象类。其两个子类为:NSInvocationOperation和NSBlockOperation。两个子类分别基于selector和block进行工作。一个Operation对象是一个single-shot对象,它只会执行一次并不能再次执行。NSOperation常用的方法有 阅读全文
posted @ 2014-02-16 14:37 李志斌 阅读(209) 评论(0) 推荐(0) 编辑

动态语言,别再说不

摘要: 看到篇好文章,转下。永远都要从基于语言优势设计产品的思路考虑问题,从人性化的需求思考问题,而不仅仅拘泥于语言的某个缺点或者机器运行效率不放。这是06年的文章,从现在来看,松本的Ruby语言依然是动态语言中很出色且一直在上升的语言。相信很多人都听过一个禅宗故事,说是两个僧人赶路,趟过一条小河的时候,看到一个漂亮的少妇困于其中,向他们呼救。其中一个有心施以援手,但想到佛家的色戒,便犹豫起来,不知如何是好。可另一个和尚却大大咧咧地冲过去,抱起少妇,趟过小河。于是前者的心里就很不舒服,一路上闷闷不语,后来实在忍不住,就问自己的同伴,既然身为佛门中人,怎能不顾清规戒律,如此轻薄。然而那位和尚却回过头来, 阅读全文
posted @ 2014-02-16 14:34 李志斌 阅读(163) 评论(0) 推荐(0) 编辑

CoreImage的使用及常见滤镜工具(一)

摘要: 概述:CoreImage是一个图像框架,它基于OpenGL顶层创建,底层则用着色器来处理图像,这意味着它利用了GPU基于硬件加速来处理图像。CoreImage中有很多滤镜,它们能够一次给予一张图像或者视频帧多种视觉效果。而且滤镜可以连接起来组成一个滤镜链,把滤镜效果叠加起来处理图像。CoreImage框架最早出现于iOS5,iOS6也对这个框架进行了扩展,这篇博客的Demo是基于iOS7的。CoreImage框架最常用的类:* CIImage保存图像数据的类,可以通过UIImage,图像文件或者像素数据来创建,包括未处理的像素数据如:- imageWithCVPixelBuffer:- ima 阅读全文
posted @ 2014-02-16 14:33 李志斌 阅读(578) 评论(0) 推荐(0) 编辑

【iOS】用Layer创建一个三维模型以及拖动

摘要: 关于CALayer的介绍以及基本属性,在这篇博客中有交代:CoreAnimation —— CALayer这篇博客讲述简单的通过对layer的transform属性的设置一个CATransform3D来进行自定义三维图形,甚至后续的处理。通常简单的仿射变换我们也是通过对其的transform属性进行设置。不过这里设置的是一个3D变换类。如果线性代数很好的话,那应该能够理解内部具体做了如何的矩阵运算。首先我子类化一个UIView对象,把图形的绘制在这个自定义View上进行。接口方面类别中有两个内部成员CALayer*_cubeLayer;//main layerGLKMatrix4_rotMat 阅读全文
posted @ 2014-02-16 14:23 李志斌 阅读(360) 评论(0) 推荐(0) 编辑