UIView传递Touch Event 等事件 在构建自定义UI的时候,有时候会经常在一层UIView上再覆盖一层UIView,例如父层的view管理touch事件和数据,当在该view上覆盖一层view后,就无法把touch事件传递到父view上;而如果把数据传递到子类,在子类上去管理touch事件,这样会打乱逻辑上的分层。 由于事件是在responder 链上传递的,当上一层的view不做响应时,可以把事件传递到下一层的vi
UITableView 多选(Multiple Select)列表的实现 最近的项目需要用到多选列表,照例自己有了初步想法之后,google了下其他人的实现,发现了两个主要的实现方法:在设置cell的editingStyle为3。不过这个属性是非公开的,所以使用会有被打回的风险;而且使用固定数字返回的话,Api更新有可能导致不可预估的问题;再者无法对选中标记进行定制。请参考:http://www.iphonedevwiki.net/index.php?tit
深入浅出Cocoa之类与对象——罗朝辉 转载自:http://www.cppblog.com/kesalin/archive/2012/01/19/objc_class_object.html最近打算写一些ObjC中比较底层的东西,尤其是 runtime 相关的。苹果已经将 ObjC runtime 代码开源了,我们可以从:http://opensource.apple.com/source/objc4/objc4-493.9/
iOS object-c 面试题 面试了几轮了,总结下面试中会被经常提问到的问题:1.iPad开发与iPhone开发有什么不同?答:开发iPad和iPhone应用使用的是相同的SDK,它们之间的区别主要体现在设备硬件和UI操作上。(1)设备硬件:由于iPad不具备电话功能,iPad1也没有相机,所以相关的特性如电话、SMS等无法使用。(2)UI操作:由于iPad屏幕大小为9.7英寸,而iPhone的屏幕是3.5
KVC(Key-value coding)机制 KVC(Key-value coding)是一套利用字符串标识符间接访问对象属性和关系的机制。Cocoa Programming中,Core Data,Application Scriptability, 绑定(Binding)技术和声明属性之一语言特性等,都是以KVC为基础的。(Application Scriptability 和 绑定(Binding)是Mac OS X上特有的)。你也可以用
《编程珠玑(第2版)》笔记——将一个n元一维向量向左旋转i个位置(第2章) 第2章 啊哈!算法《编程珠玑(第2版)》的第2章,一开始就给出三个问题,其中问题B很有意思:将一个n元一维向量向左旋转i个位置。例如,当n=8且i=3时,向量abcdefgh旋转为defghabc。简单的代码使用一个n元的中间向量在n步就能够完成该工作,你能否仅使用数十个额外字节的存储空间,正比于n的时间内完成向量旋转。其实就像问题中提到的,如果不考虑空间,这是个很简单的问题。但考虑到
优化——UIScrollView通过内容延迟加载以达到平滑滑动。 前面写了一篇《UIScrollView 平滑划动处理》,是通过延迟操作来达到平滑移动,但操作起来比较生涩,而且逻辑较复杂,现在已经弃之不用。前文已经提到,将所有的内容页全部加入到ScrollView是最简单的方法,而且能够非常平滑划动,但如果是大数据量的时候,明显是不适用的。最近参考了Three20的TTScrollView以及TTPhotoViewController后,终于找到了一种内容页
自定义输出宏替代NSLog 开发过程中,难免会使用NSLog来打印信息用于调试,但releae的软件却不能包含NSLog,否则有被打回的风险,但难道要在发布前把全部的NSLog都注释掉?那后续的调试呢?下面,我们可以采用自定义宏来取代NSLog,只在DEBUG模式下输出Log信息。#ifdef DEBUG_MODE#define DLog( s, ... ) NSLog( @" %@", [[NSString st
求质数(Prime Number 素数)的方法——厄拉多塞筛法 质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。合数是由若干个质数相乘而得到的。所以,质数是合数的基础,没有质数就没有合数。【1】一般方法素数是除了1和它本身之外再不能被其他数整除的自然数。由于找不到一个通项公式来表示所有的素数,所以对
NSOperationQueue线程队列完毕finished状态检测 参考:http://stackoverflow.com/questions/1049001/get-notification-when-nsoperationqueue-finishes-all-tasks 多线程编程中,操作队列NSOperationQueue我们经常会用到的,简化了多线程的操作。至于用法就不多介绍了。这里要说的是队列执行完毕的状态检查。 我们很多时候需
TTPhotoViewController 在不同interfaceOrientation下的显示问题 最近在使用Three20库进行开发,并使用了TTPhotoViewController 来显示照片,不清楚大家是否遇到过我这样的问题:直接TTPhotoViewController ,使用在竖屏的时候,图片显示是错误了,此时图片上自动放大,且经常会显示到其他页的图片;而在横屏的情
UIScrollView 平滑划动处理 iOS开发经常会用到UIScrollView,而能够平滑的展示划动效果,是至关重要的。比较常用的方法有两种: 1)将所有的scrollview子页面都add到scrollview中,这样可以平滑滑动,但占用资源加多,并且初始化加载比较慢。 2)使用三个页面View,在滑动过程中如指针轮询那样交替使用。优点是占用内存少,但如果单个页面比较大,经常会在划动到中间位置的时候,
分析优酷HTML5地址 分析优酷HTML5地址技术不懂,2011年03月25日.YouTube已经支持HTML5嵌入。YouKu目前全站支持HTML5,不过嵌入代码还是Flash的。抽空分析了下HTML5下的播放地址,很简单。update:2011-04-27发现获取m3u8 最
UIScrollView,点击、滑动翻页事件的区分 最近看到有人问这个问题:在UIScrollView上添加了一个View,View上面有图片等元素,需要对单击和滑动事件进行区分。这样的问题有以下几个经常会用到的地方: (1)点击UIScrollView上的图片,跳转到其他页面;同时不影响UIScrollView的滑动操作。 (2)在阅读浏览类产品会经常用到,点击屏幕的中间区域,隐藏/显示状态栏或导航条;同
关于腾讯订阅的分析报告 1、引言 最近在做一个App Store上的电子杂志类型的应用软件(下文简称app),其中外观设计和用户交互性设计主要是由客户决定,兼参考了《周末画报》、《三联生活周刊》、《商业价值》和《网易新闻》等一系列优秀的应用。其中《周末画报》外观设计和交互性设计做得尤为令人赞叹,《三联生活周刊》与《周末画报》类似,而《商业价值》则是简洁大气,排版明确;而《网易新闻》则是新闻
TextView里限制输入字数的方法 一开始采用的方法是函数textView:shouldChangeTextInRange:replacementText:来进行判断://键入Done时,插入换行符,然后执行addBookmark- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{ //
Xcode实用功能纪实 记录Xcode的实用功能。 1.代码自动完成功能:在Xcode的进行编码的时候,很多人以为它的代码提示功能不好用,提示不够智能,不能出提示列表。其实Xcode有个代码自动完成功能,在编码的时候,按Esc键,就出现自动提示列表了。列表里的名称的彩色方框表示这个符号的类型:E表示枚举,f表示函数,#表示#define指令,m表示方法,C表示类等。 2.在完成了代码自动完成之后,自动完成的代码有参数需要输入的时候,参数显示占位符,此时
Android,对话框定时自动关闭的实现 初学Android没几天,最近在做一个项目,需要实现对话框弹出一段时间后自动消失,网上查找了部分资源并参考了SDK后,整理了下相关的方法: 实现对话框的弹出消隐,现实主要的方法是使用Toast。Toast一般的使用很简单,一行代码即可:Toast.makeText(getApplicationContext(), "默认Toast样式", Toast.LENGTH_SHORT).show(); 当然,Toast使用不限于此,强大的武器就是这样,菜鸟可以简单上手,高手也可以玩出花样