摘要: UIKit Animation创建与启动的两种方式:1. 使用Animation Context[UIView beginAnimations:@"box-animate" context:nil]; //开始创建动画,每个动画都有其字符串名称,这里我们以"box-animate"为例。[UIView setAnimationDuration:1]; //动画运行时间为1秒 // 在这里设置变化的最终状态 someBtn.backgroundColor = [UIColor blueColor]; // 按钮someBt... 阅读全文
posted @ 2012-04-26 21:52 linear 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 在Windows应用程序中,经常使用模态(Model)对话框来和用户进行简单的交互,比如登录框。在IOS应用程序中,有时我们也希望做同样的事情。但IOS的UI库中,没有模态对话框,最接近那个样子的应该算是AlertView。但仅用AlertView,我们只能做文字提示,而不能和用户做交互。本文将介绍如何基于AlertView做定制,实现模态对话框的功能。以密码修改框为例:1. 首先,我们要继承AlertView类,在类的头文件PwdModifyView.h中,加入控件的声明 这里我们把控件都声明为property,目的是让外部的类可以访问用户输入的数据。#import <UIKit/UI 阅读全文
posted @ 2012-04-26 01:03 linear 阅读(3314) 评论(1) 推荐(1) 编辑
摘要: 1. 信号量 - Semaphore 首先初始化信号量的值为N 线程访问资源时,首先获取信号量: 将信号量的值减1 如果信号量的值小于0,则进入等待状态,否则继续运行。 访问完资源后,线程释放信号量: 将信号量的值加1 如果信号值的值小于1,唤醒一个等待的线程。2. 互斥量 - Mutex 资源仅同时允许一个线程访问。 与信号量不同的是,信号量可以被任意线程获取与释放。即一个线程获取了信号量后,可由另一个线程释放。而互斥量要求哪个线程获取了互斥量,哪个线程就要负责释放这个锁。3. 临界区 - Critical Section 与信号量、互斥量不同的是,信号量... 阅读全文
posted @ 2012-04-15 16:41 linear 阅读(308) 评论(0) 推荐(0) 编辑
摘要: App本地化的需要不用讲大家也都明白,本文将介绍一种简单的方法来实现字符串的本地化。在不考虑本地化的情况下,我们如果在代码中给一个Button定义title,一般会这样写:btn.titleLable.text = @"Example Button";也许我们已经写了很长的代码才考虑到本地化的问题,大可不必头疼,这时候,我们要做的是把代码从头扫一遍,然后把每个会显示给用户看的字符串做如下修改:(对于内部使用的字符串就用不着本地化了)btn.titleLable.text = NSLocalizedString(@"btn_title", nil);NSL 阅读全文
posted @ 2012-03-20 00:59 linear 阅读(11305) 评论(3) 推荐(2) 编辑
摘要: 最近的一个项目中,要求在已有的界面上加入一个半透明的蒙板,提示用户界面上每个元素的功能。而且蒙板不是只有一页,要求可以左右滑动切换页面。简单的整理一下实现的思路:1. 既然是要显示半透明的蒙板图片,UIImageView肯定是少不了了。2. 要多页显示且能左右滑动,把UIImageView嵌入到UIScrollView中,并将UIScrollView的pagingEnabled属性设为YES,即可实现整页的滑动。3. 按当下流行的设计方案,图片滑动时,用点来表示当前页和总页数,这个就要用到UIPageControl控件了。4. 这些用于显示帮助的元素不应扰乱xib界面文件对页面的定义,所以使用 阅读全文
posted @ 2012-03-15 00:28 linear 阅读(11420) 评论(7) 推荐(2) 编辑
摘要: 1. -(BOOL) isKindOfClass: <class> 判断该对象是否为<class>类或其子类的实例2. -(BOOL) isMemberOfClass: <class> 判断该对象是否为<class>类的实例3. -(BOOL) respondsToSelector: <selector> 判断该对象是否可响应<selector>函数4. +(BOOL) instancesRespondToSelector: <selector> 判断该类的实例是否可响应<selector>函数5. 阅读全文
posted @ 2012-03-05 13:29 linear 阅读(799) 评论(1) 推荐(0) 编辑
摘要: 1. 类中定义的@public, @private, @protected只影响继承它的类的访问权限。2. @property会为变量自动加上getter/setter方法。3. getter方法:1 -(id) name2 {3 return name;4 }4. setter方法:1 -(void) setName:(id)_name2 {3 if (name != _name)4 {5 [name release];6 name = [_name copy];// 设置了copy参数的情况7 }8 }5. @property... 阅读全文
posted @ 2012-03-02 20:11 linear 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 首先声明,该模版借鉴自cocos2D。 获取Singleton类的对象时,调用的函数名称为:shared<ClassName>。废话不说,代码如下:// SingletonClass.m@implementation SingletonClassstatic SingletonClass* instance = nil;+(SingletonClass) sharedSingletonClass{ if (instance == null) { instance = [[SingletonClass alloc] init]; } return insta... 阅读全文
posted @ 2012-03-01 23:45 linear 阅读(239) 评论(1) 推荐(0) 编辑