- 博客(34)
- 资源 (4)
- 收藏
- 关注
原创 iOS手动控制界面旋转
手动控制界面旋转的核心思路就是利用UIView的transform属性,旋转App的根视图。何为根视图?如果你的App的window.rootViewController是UINavigationController,那么根视图就是navigationController.view。为了旋转的效果和系统的一致,我们还需要为它添加一个UIView动画。
2014-06-04 19:51:19
2055
原创 iOS 6及以上控制个别视图旋转案例
有这样一个需求:项目的根视图控制器是UITabBarController,有几个tab对应的都是UINavigationController,其中某个UINavigationController的栈中分别有控制器a和控制器b(由控制器a push 进入 控制器b),要求只有控制器b支持旋转。该怎么做呢?
2014-06-03 16:45:28
1400
1
转载 IOS应用开发21种设计模式-观察者模式
使用场景:1、有两种抽象类型相互依赖。将它们封装在各自的对象中,就可以对它们单独进项改变和复用。2、对一个对象的改变需要同时改变其他对象,而不知道具体有多少对象有待改变3、一个对象必须通知其他对象,而它又不需要知道其他对象是什么。使用实例:通知和KVO。
2014-03-03 16:45:32
787
原创 IOS应用开发-GCD编程入门
GCD是一套高度抽象化的多线程编程技术,使用它可以编写出高效的多线程代码。相比于NSThread和NSOperation,Apple更推荐我们使用GCD。GCD的适用范围通常是那种需要长时间CPU运算的场合,例如耗时较长的图形处理和算法执行。GCD有两宝:一个Dispatch Queue(FIFO队列)和一个线程池,前者用来添加任务,后者用来执行任务。Dispatch Queue也是一个对
2014-02-25 22:35:49
1496
原创 IOS开发实例-获取用户当前地理坐标
一、需求获取用户当前所在位置的经纬度。二、实现过程拟采用CLLocationManager类获取用户位置信息,所需步骤1、导入CoreLocation.frameWork2、通过CLLocationManager类获取位置信息三、代码#import "TestViewController.h"@implementation TestViewContr
2014-02-17 14:08:00
7368
1
原创 IOS应用开发-数据库创建
一、前言数据库作为一种数据载体被我们频繁地使用。一般情况下我们会在程序的入口方法处完成数据库的创建。下面通过实例简单介绍两种创建数据库的方法。二、需求在documents目录下创建一个test.sqlite数据库,里面包含表User。User表含username和password两个varchar类型的字段。方法一:使用SQLiteManager创建数据库和表,并将创建好的数据库文
2014-02-12 17:03:12
1322
原创 IOS应用开发-应用评分
// 功能:// 程序跳转到appstore并打开app的评分面板;// 将其中的appID换成自己的应用appID即可(亲测可用);- (void)rateForApp{ // 到itunesConnect处可获取 int appID = 000000000; NSString *str = [NSString stringWithFormat:@"itms-ap
2014-02-12 14:36:13
1133
原创 IOS应用开发-KVC/KVO
#pragma mark - view life cycle- (void)viewDidLoad{ [super viewDidLoad]; // KVO\KVC example // KVC // KVC是KeyValueCoding的简称,它是一种可以直接通过字符串的名字(key)来访问类属性的机制。而不是通过调用Setter、Gett
2014-02-12 11:49:41
1658
原创 IOS应用开发21种设计模式-中介者模式
中介者模式:用一个对象来封装一系列对象的交互方式。中介者使各种对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间地交互。中介者模式以中介者内部的复杂性代替交互的复杂性。中介者模式不只适用于把各种对象间错综复杂的关系集中化,也适合组织两个不同视图间视图迁移。在以下情形中,自然会考虑使用这一模式:1、对象间的交互虽定义明确然而非常复杂,导致一组对象彼此相互依赖而且难以理解;
2014-02-10 21:25:46
1464
原创 IOS应用开发-App升级后旧文件去留
参考自:http://www.kankanews.com/ICkengine/archives/55052.shtml安装新版App时,系统会先新建一个应用目录,然后安装这个新版本应用,然后再把旧版本的应用数据拷贝过来,然后再删除旧版本的应用安装目录。
2014-02-08 17:03:36
1214
原创 IOS应用开发-真机测试
这里简单总结一下ios应用开发过程中的真机测试,不详细赘述。必须条件:99美刀的开发者帐号、测试设备。真机测试要经历如下几个步骤:一、创建测试/发布许可证书1、如果当前pc是首次连接设备进行测试,需要下载AppleWWDRCA.cer文件到当前pc,这个文件是测试以及发布ios应用必须的一个文件,这个文件只要下载一次就够了,这是调试以及发布iOS应用必须的一个文件,这个文件
2014-02-07 16:27:59
791
原创 函数参数的赋值形式
- (void)viewDidLoad{ [super viewDidLoad]; MyClass *myc = [[MyClass alloc] init]; NSLog(@"在刚实例化的时候:"); NSLog(@"myc.retainCount = %d",myc.retainCount); NSLog(@"myc:%@",myc);
2013-07-04 00:24:18
4093
原创 plist文件读写
- (void)viewDidLoad{ [super viewDidLoad]; NSDictionary *dictionary1 = [NSDictionary dictionaryWithObjectsAndKeys:@"1",@"a",@"2",@"b", nil]; NSDictionary *dictionary2 = [NSDictionary
2013-06-28 16:01:01
1007
原创 ARC与非ARC混用
随着ARC管理内存技术的日渐成熟,人们慢慢倾向于在自己的项目里使用ARC。由于原先一直都是手动管理内存的,所以就要考虑怎么样在非ARC的工程里用使用ARC进行编译的文件、类库。好在这样的混用十分的简单。只要对相应的文件进行一项简单的设置就成。操作步骤如下:1、选择项目中的Targets,选中你所要操作的Target。2、选Build Phases,在其中Complie Sources中选择
2013-05-31 23:23:54
2120
原创 循环引用导致内存泄漏
循环引用所有的引用计数系统,都存在循环应用的问题。例如下面的引用关系:对象a创建并引用到了对象b.对象b创建并引用到了对象c.对象c创建并引用到了对象b.这时候b和c的引用计数分别是2和1。当a不再使用b,调用release释放对b的所有权,因为c还引用了b,所以b的引用计数为1,b不会被释放。b不释放,c的引用计数就是1,c也不会被释放。从此,b和c永远留在内存中,引起了内存泄漏
2013-05-31 15:32:25
2284
原创 autoresizingMask属性研究
UIViewAutoresizingNone: superView变换时,自己不作变换; UIViewAutoresizingFlexibleLeftMargin: 与superView之间的右边界保持不变,左边界灵活可变; UIViewAutoresizingFlexibleRightMargin: 与superView之间的左边界保持不变,右边界灵活可变; UIViewAu
2013-05-28 17:38:45
807
原创 视图间坐标转换
- (void)viewDidLoad{ [super viewDidLoad]; UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(10.0f, 100.0f, 300.0f, 100.0f)]; view1.backgroundColor = [UIColor blackColor]; UIV
2013-05-28 10:30:44
981
原创 浮动的表单
本例用UIView动画实现在编辑表单内容的时候表单上移一段距离的动画效果,以防止表单内容被弹出的输入键盘遮挡住。我们用Interface Builder来帮助我们布局,大体的页面结构是:根视图上丢一个UIImageView作为背景;丢一个UIView作为表单的载体,然后在在这个UIView上添加UITextField、UIButton等控件。然后在我们的主控制器中编写实现代码:ViewCont
2013-04-28 14:08:56
1271
转载 UITextField使用技巧
详见:http://blog.csdn.net/kindazrael/article/details/8138996
2013-04-27 17:21:16
718
转载 UITextView使用技巧(二)
关闭键盘的几种方式(1)如果你程序是有导航条的,可以在导航条上面多加一个Done的按钮,用来退出键盘。代码如下:- (void)textViewDidBeginEditing:(UITextView *)textView{ UIBarButtonItem *done = [[[UIBarButtonItem alloc] initWithBarButtonSy
2013-04-27 17:05:41
679
原创 UITextView使用技巧(一)
#import "ViewController.h"#import @implementation ViewController@synthesize myTextView;- (void)viewDidLoad{ [super viewDidLoad]; self.myTextView = [[[UITextView alloc] initWithFrame:C
2013-04-27 16:26:55
1124
转载 IOS 多线程与异步的区别
随着拥有多个硬线程CPU(超线程、双核)的普及,多线程和异步操作等并发程序设计方法也受到了更多的关注和讨论。本文主要是想与园中各位高手一同探讨一下如何使用并发来最大化程序的性能。 多线程和异步操作的异同 多线程和异步操作两者都可以达到避免调用线程阻塞的目的,从而提高软件的可响应性。甚至有些时候我们就认为多线程和异步操作是等同的概念。但是,多线程和异步操作还是有一些区别的。而这些区别造成
2013-04-25 16:34:14
1331
转载 UILabel使用技巧(三)
文本大小自适应 文本大小自适应需要调用NSString类的实例方法计算出文本的size,然后根据这个size来设定UILabel的frame来实现。计算size的方法有:(1) - sizeWithFont: - (CGSize)countTextSize:(NSString *)text{ /* 1、换行方式默认取NSLineBreakByWo
2013-04-24 17:08:32
1086
原创 UILabel使用技巧(二)
UIFont字体设置一、创建任意样式字体label.font = [UIFont fontWithName:@"fontName" size:17];label.font = [label.font fontWithSize:17];二、创建指定大小的系统默认字体(默认:Helvetica)label.font = [UIFont systemFontOfSi
2013-04-24 12:51:11
2956
转载 UILabel使用技巧(一)
UILabel的各种属性与方法的使用(转)#import "LabelTestViewController.h" @implementation LabelTestViewController /* Accessing the Text Attributes text property font property textCo
2013-04-24 11:09:02
1210
原创 开发常用动画收集
一、UIView 动画 使用iPhone作为开发平台,你可以体验到UIView带来的既另类又有趣的动画功能。UIView动画能够完美地建立起一座连接视图当前状态和未来状态地视觉桥梁。可以产生动画效果的变化包括: 1、位置变化:在屏幕上移动视图; 2、大小变化:改变视图框架和边界; 3、拉伸变化:改变视图内容的延伸区域; 4、改
2013-04-23 23:17:07
1156
1
原创 UITabBarController自定义标签栏
UITabBarController自带的标签栏样式太过单一,很多时候都需要我们去自定义标签栏。对于自定义标签栏,比较常见的有两种方法: 1、扩展UIViewController,自已用代码构造出一个标签栏控制器,然后定制tabBar。 2、隐藏UITabBarController自带的标签栏,自己用UIView定制一个tabBar。用第1种方法定制,如果想要在
2013-04-22 16:20:51
3802
1
原创 UITabBarController使用须知
UITabBarController在我们的开发中经常被用到。关于它的使用,有几个须要注意的地方:1、UITabBarController会抗拒和别的视图控制器组合,所以最好只将UITabBarController做为整个App的根视图。 When deploying a tab bar interface, you must install this view as the root o
2013-04-21 22:46:07
868
原创 UITabBarController的简单使用
不啰嗦理论方面的内容,下面直接上代码:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ self.window = [[[UIWindowalloc] initWithFrame:[[UIScreenmainScre
2013-04-15 22:41:47
665
原创 不稳定的autorelease
结论:如果有一个实例A是用工厂方法创建或被声明为autorelease的,则当代码执行到跳出这一实例化A的代码块(例如一个function)且实例A并没有被保留(retain)下来时,实例A的指针所指向的内容将被释放。示例:#import "ViewController.h"#import "TestViewController.h"@implementation ViewContr
2013-04-15 21:05:19
572
原创 NSUserDefaults的简单使用
NSUserDefaults提供了一些接口,让我们能够方便得将一些简短的数据存入应用沙盒中的某个plist文件中。下面来简单介绍下它de用法。其中,对于最为常规的用法:1、一般情况下,在application: didFinishLaunchingWithOptions:方法中进行初始化默认配置 NSDictionary *defaultDic = [N
2013-04-12 10:13:12
663
iOS手动控制界面旋转
2014-06-04
IOS 自定义标签栏
2013-04-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人