ios
文章平均质量分 79
maomaoyu3211
这个作者很懒,什么都没留下…
展开
-
svn 上传.a 文件
1. 在每个用户主文件夹下有一个名为.subversion的隐藏文件夹,打开里面的config文件。2. 查找 [miscellany] 字段,即可看到下面有个 global-ignores 键名,默认为注释掉了的,这表示SVN已经将它们作为默认值了。3. 取消注释,把 *.so *.so.[0-9]* *.a 去掉,当然你也可以根据需要增加或减少你的过滤选项。...原创 2013-03-03 15:00:32 · 243 阅读 · 0 评论 -
IOS发送Email的方法
IOS系统框架提供的两种发送Email的方法:openURL 和 MFMailComposeViewController。借助这两个方法,我们可以轻松的在应用里加入如用户反馈这类需要发送邮件的功能。 1.openURL使用openURL调用系统邮箱客户端是我们在IOS3.0以下实现发邮件功能的主要手段。我们可以通过设置url里的相关参数来指定邮件的内容,不过其缺点很明显,这样的过...原创 2013-03-03 16:04:26 · 490 阅读 · 0 评论 -
ios6 处理内存警告
iPhone下每个app可用的内存是被限制的,如果一个app使用的内存超过20M,则系统会向该app发送Memory Warning消息。收到此消息后,app必须正确处理,否则可能出错或者出现内存泄露。 app收到Memory Warning后会调用:UIApplication::didReceiveMemoryWarning -> UIApplicationDel...原创 2013-03-03 16:24:03 · 130 阅读 · 0 评论 -
xcode4.5(iOS 6)开发与之前的差异
1.开发iphone5和ios6版本最低需要使用xcode4.5,而xcode4.5不再支持armv6即:iOS4.3.3以下的系统.不被支持的硬件设备包括:iPod 2nd gen, iPhone 3G 或更老的iPhone例如我打包时的错误提示就是:warning: iOS deployment targets lower than 4.3 are not supported...原创 2013-03-03 16:31:10 · 131 阅读 · 0 评论 -
多线程编程指南
iOS 支持多个层次的多线程编程,层次越高的抽象程度越高,使用起来也越方便,也是苹果最推荐使用的方法。下面根据抽象层次从低到高依次列出iOS所支持的多线程编程范式:1, Thread;2, Cocoa operations;3, Grand Central Dispatch (GCD) (iOS4 才开始支持)下面简要说明这三种不同范式:Thread 是这三种范式里面相对轻量级的,但也是使用起...原创 2013-03-03 16:39:39 · 194 阅读 · 0 评论 -
UIControl 控件简介
UIKit提供了一组控件:UISwitch开关、UIButton按钮、UISegmentedControl分段控件、UISlider滑块、UITextField文本字段控件、UIPageControl分页控件。 控件是对UIView派生类的实用增强及补充,并可以直接附着于导航栏、表格单元,甚至更大的对象。这些控件的基类均是UIControl,而UIControl派生自UIView类...原创 2013-03-04 23:47:14 · 175 阅读 · 0 评论 -
UITextField小结
//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)] //设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect; type...原创 2013-03-05 00:17:53 · 188 阅读 · 0 评论 -
10个迷惑新手的Cocoa&Objective-c开发问题
from :http://lianxu.me/blog/2011/11/14/10-cocoa-objc-newbie-problems/#3 以前的确迷惑过language backgroundruntimethreadrunloopdelegate, protocolevent respondermemory managementclass...原创 2013-03-05 19:57:07 · 135 阅读 · 0 评论 -
iphone 线程 NSCondition NSThread
多线程在各种编程语言中都是难点,很多语言中实现起来很麻烦,objective-c虽然源于c,但其多线程编程却相当简单,可以与java相媲美。这篇文章主要从线程创建与启动、线程的同步与锁、线程的交互、线程池等等四个方面简单的讲解一下iphone中的多线程编程。一、线程创建与启动线程创建主要有二种方式:- (id)init; // designated initializer- (...原创 2013-03-05 19:57:12 · 85 阅读 · 0 评论 -
Cocoa多线程编程之 block 与 dispatch quene
block 是 Apple 在 GCC 4.2 中扩充的新语法特性,其目的是支持多核并行编程。我们可以将 dispatch_queue 与 block 结合起来使用,方便进行多线程编程。 1,实验工程准备在 XCode 4.0 中,我们建立一个 Mac OS X Application 类型的 Command Line Tool,在 Type 里面我们选择 Foundatio...原创 2013-03-05 19:57:23 · 80 阅读 · 0 评论 -
objective-c跬步
内存管理规则。http://www.apple.com.cn/developer/iphone/library/documentation/UserExperience/Conceptual/MemoryMgmt/MemoryMgmt.html 让程序在运行过程中不锁屏[UIApplication sharedApplication].idleTimerDisabled=Y...原创 2012-07-16 22:54:06 · 70 阅读 · 0 评论 -
xcode4.2 MainWindow.xib
In the XCode 4.2 beta, MainWindow.xib is no longer included by default in some project templates. This means that you have to get your application to work by writing some code, using another meth...原创 2012-07-16 22:55:44 · 145 阅读 · 0 评论 -
第一个app——iPhone应用程序:“Say Hello”
项目需求写一个iPhone应用程序,要求可以输入名字,点击按钮后,会显示一段文字向输入的名字打招呼,例如输入“宝玉”,显示“你好,宝玉!”需求分析这是一个很简单的应用程序,包含一个文本输入框,一个文本显示框,一个按钮。输入名字到文本输入框,再点击按钮,这时文本显示框的文字就会变成“你好,<名字>!”。但是要注意,如果用户输入为空,要有警告提示用户重新输入;如果用户输入文...原创 2012-07-16 22:56:45 · 213 阅读 · 0 评论 -
Xcode4.2 本地化 总结
1 xcode4.2,如果是简体中文,把国际化的文件放到zh-Hans.lproj中就显示正常了。如果放到zh.lproj中就不可以2 字符串1)在项目的“supporting files”目录中右键“new file”然后在弹出窗口左侧选择IOS的resource项,在右侧就可以看到“String File”的图标。创建这个文件,新建的文件名要写成“Localizable.strings” ...原创 2012-07-17 09:05:33 · 80 阅读 · 0 评论 -
理解UIApplication
iPhone应用程序是由主函数main启动,它负责调用UIApplicationMain函数,该函数的形式如下所示: int UIApplicationMain ( int argc, char *argv[], NSString *principalClassName, NSString *delegateClassName ); 那么UIApplicationMain函数到底做了哪些事情呢?...原创 2012-07-19 01:06:31 · 94 阅读 · 0 评论 -
iPhone程序Splash启动画面
方法一: 官方SDK最简单的方法最简单的方法就是做一个全屏的欢迎页的图片,把它命名为Default.png,然后放在Xcode工程的Resource里面。 执行就可以看到你的这个默认图像在程序完全加载之前显示在屏幕上。但是这个方法有个问题,如果你的程序很快载入了,这个图片会立刻消失,导致还没有看清楚图片上的内容。 而且有些内容虽然程序已经载入了,但是有些程序需要的资源是要从服务器...原创 2012-07-19 09:35:36 · 154 阅读 · 0 评论 -
Sizes of iPhone UI Elements
ElementSize (in points)Window (including status bar)320 x 480 ptsStatus Bar(How to hide the status bar)20 ptsView inside window (visible status bar)320 x 460Navigat...原创 2012-07-19 17:49:26 · 86 阅读 · 0 评论 -
addSubview和insertSubview的区别
addSubview 是将view加到所有层的最顶层相当于将insertSubview的atIndex参数设置成view.subviews count即[view addSubview:oneview] == [view insertSubview:oneview atIndex:view.subviews count] addSubview是加到最后inser...原创 2012-07-19 23:30:15 · 75 阅读 · 0 评论 -
view在UIViewController中的生命周期
理解view的生命周期:在UIViewController中,view(黑体的view指的是controller的view属性)有两个循环:加载和卸载循环。当程序的一部分向controller请求view的指针且view不在内存中时,view会进入加载循环,controller会将view加载入内存。当程序接收到内存警告时,controller会尝试卸载view,在卸载循环中,con...原创 2012-07-20 17:28:28 · 74 阅读 · 0 评论 -
UITableViewCell的4种显示格式
typedef NS_ENUM(NSInteger, UITableViewCellStyle) { UITableViewCellStyleDefault, // Simple cell with text label and optional image view (behavior of UITableViewCell in iPhoneOS 2.x) U...原创 2013-03-18 22:20:07 · 147 阅读 · 1 评论 -
objective-c 中随机数的用法 (3种:arc4random() 、random()、CCRANDOM_0_1() )
from:http://www.cnblogs.com/xuling/archive/2012/02/28/2370692.html 1)、arc4random() 比较精确不需要生成随即种子 使用方法 : 通过arc4random() 获取0到x-1之间的整数的代码如下: int value ...原创 2013-03-18 22:20:36 · 80 阅读 · 0 评论 -
arc方法中局部变量viewcontroller无法获得相应回调事件( exc_bad_access)
- (IBAction)baseTap:(id)sender { NLMailComposerViewController *mail = [[NLMailComposerViewController alloc] init]; mail.delegate = self; [self.view addSubview: mail.view]; NSArra...原创 2013-03-18 22:21:21 · 151 阅读 · 0 评论 -
ios5中UIViewController addChildViewController等新方法
ios4还是3,以前基于在vviewcontroller上的切换,基本上就2中方式,导航控制器上的push,或者普通控制器上modal,现在终于多了一个这种玩意儿了。在ios5中,ViewController中新添加了下面几个方法:addChildViewController: removeFromParentViewController transitionFromViewContr...原创 2013-03-18 22:21:58 · 94 阅读 · 0 评论 -
loadNibNamed
1、loadNibNamed方法:-(NSArray *)loadNibNamed:(NSString *)name owner:(id)owner options:(NSDictionary *)options参数:name:nib文件的名称owner:指定name参数所指代的nib文件的File's Owneroptions:当nib文件开始时,需要的数据返回值:返...原创 2013-03-26 03:40:13 · 336 阅读 · 0 评论 -
Block开发浅谈
一、block的定义及优点Apple文档说:A block is an anonymous inline collection of code, and sometimes also called a "closure".Block是一个C级别的语法以及运行时的一个特性,和标准C中的函数(函数指针)类似,但是其运行需要编译器和运行时支持。从ios4.0,Mac_OSX v10...原创 2013-03-27 19:04:16 · 184 阅读 · 0 评论 -
25 iOS App Performance Tips & Tricks
from http://www.raywenderlich.com/31166/25-ios-app-performance-tips-tricks This is a post by iOS Tutorial Team Member Marcelo Fabri, an iOS developer working at Movile. Check out his personal we...原创 2013-04-21 11:45:00 · 432 阅读 · 0 评论 -
UIControlEventEditingDidEndOnExit UIControlEventEditingDidEnd
UIControlEventEditingDidEndOnExit点击键盘done这个button会触发这个事件,键盘消失,然后他也会走UIControlEventEditingDidEnd事件 UIControlEventEditingDidEnd当失去焦点时触发,如dismissViewControllerAnimated,pop,触摸空白处执行了resignFirstRe...原创 2013-04-21 11:46:17 · 387 阅读 · 0 评论 -
Save for Enterprise or ad-hoc deployment not present
If your project uses a third-party lib as a sub-project, there are a couple of settings that you may need to change so that xcode will recognize your app as a single–bundle rather than multiple produ...原创 2013-04-25 16:17:05 · 118 阅读 · 0 评论 -
UIDeviceOrientation 和 UIInterfaceOrientation 设备旋转的方向
UIDeviceOrientation 是机器硬件的当前旋转方向 这个你只能取值 不能设置UIInterfaceOrientation 是你程序界面的当前旋转方向 这个可以设置 判断设备现在的方向: - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)inte...原创 2012-08-08 12:07:55 · 148 阅读 · 0 评论 -
Objective-C中的NSObject对象经常使用到的方法
/* 用于判断对象是不是参数提供的类型(参数可以是父类的class) 参数示例: [NSObject class]; */ - (BOOL)isKindOfClass:(Class)aClass; /* 用于判断对象是不是参数提供的类型(参数不可以是父类的class) 参数示例: [NSObject class]; */ - (BOOL)isMemberOfClass:(Class)aClass...原创 2012-08-10 23:53:15 · 65 阅读 · 0 评论 -
id nil Nil SET IMP 等概念
来看看 Objective-C 语言中的头文件 objc.h 的定义 : // objc.htypedef struct objc_class *Class;typedef struct objc_object { Class isa;} *id;typedef struct objc_selector *SEL;typedef id (...原创 2012-08-10 23:53:48 · 108 阅读 · 0 评论 -
Objective-c selector学习
学习Objective-C,为了巩固知识,翻译如下,有不妥之处,敬请指点。在Objective C中,selector有两个含义。1. 当在源代码中发消息给对象的时候,selector指的是方法名2. 当源代码被编译后,指的是替代方法名的唯一标识符(identifier)编译后的selector的类型是SEL, 所有具有相同方法名的方法有相同的selector你可以用selecto...原创 2012-08-10 23:54:11 · 83 阅读 · 0 评论 -
深入浅出 iOS 之生命周期
iOS应用程序的生命周期相比 Android 应用程序的生命周期来说,没那么简明易懂,但是也并不复杂。iOS应用程序的生命周期又根据系统是否支持多线程分为两种:不支持多线程的iOS4之前的系统以及支持多线程的iOS4及其之后的系统。iOS4 之前系统,app的生命周期图如下所示:感谢 [email protected] 提供如错详细的图,并以cc许可发布。 从图中我们可以看出...原创 2012-08-10 23:54:48 · 58 阅读 · 0 评论 -
loadView和viewDidLoad及initWithNibName/awakeFromNib/initWithCoder
每个ios开发者对loadView和viewDidLoad肯定都很熟悉,虽然这两个函数使用上真的是非常简单,但是和类似的initWithNibName/awakeFromNib/initWithCoder放在一起还是非常容易让人混淆的.一、loadView 永远不要主动调用这个函数。view controller会在view的property被请求并且当前view值为nil时调用这个函数。如果...原创 2012-08-10 23:55:44 · 85 阅读 · 0 评论 -
initWithNibName和viewDidLoad执行顺序
众所周知,IB在加载nib的过程中存在着一些undocument行为,有的行为确实是不可理喻的,因此程序员对IB产生了抗拒心理。今天我们要介绍的是IB导致的一个奇特行为。通过本文的描述, 作者完美地展示了IB给面向对象所带来的破坏作用。我们有两个View Controller,暂名为superclass和subclass。subclass继承了superclass。在supe...原创 2012-08-11 00:22:48 · 103 阅读 · 0 评论 -
UIViewController各个方法的加载顺序
加载过程:一般情况下调用 init方法或者调用initWithNibName方法实例化UIViewController, 不管调用哪个方法都为调用initWithNibName(方法定义如下)- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil接着会调用loadView...原创 2012-08-11 00:22:56 · 89 阅读 · 0 评论 -
浅论ViewController的加载
一个ViewController,一般通过init或initWithNibName来加载。二者没有什么不同,init最终还是要调用initWithNibName方法(除非这个ViewController没有nib文件)。我们经常在initWithNibName方法中初始化视图,变量或者其他成员。这是最常见的initWithNibName方法写法:- (id)initWithNibN...原创 2012-08-11 00:23:03 · 68 阅读 · 0 评论 -
画面切换出现的20px空白
iPhone软键盘占据216像素高,这对于iPhone仅仅320*480像素的屏幕来说,不能说不是一个很糟糕的事情。 为了避免输入控件被弹出的216像素高的软键盘所遮挡,程序员们想出了各种各样的方式,在软键盘弹出时调整窗口视图的尺寸。程序员们普遍采用的一种方式,是监听软键盘事件。当软键盘弹出时,窗体的View被上移,当软键盘隐藏时,窗体的View恢复原来位置,这样就避免了输入控件被遮挡。...原创 2012-08-11 23:43:14 · 127 阅读 · 0 评论 -
iphone开发之分辨率问题
1. [UIScreen mainScreen].applicationFrame 是{(0,20),(320,460)}UIScreen mainScreen].bounds 是{(0,0),(320,480)}CGSize size = [UIScreen mainScreen].currentMode.size;//以像素为单位的尺寸give measurements in "p...原创 2012-08-12 00:02:44 · 106 阅读 · 0 评论 -
EGOTableViewPullRefresh 下拉刷新
openSource:https://github.com/enormego/EGOTableViewPullRefresh 里面有demo1、下载EGORefreshTableHeaderView开源框架。2、往应用中添加EGORefreshTableHeaderView.h文件、EGORefreshTableHeaderView.m文件和Resource目录,并且导入QuartzCo...原创 2012-08-12 00:26:22 · 125 阅读 · 0 评论