随笔分类 -  objective-c 基础知识

摘要:首先、对UITableView进行讲解,下面有对它进行实际的应用UITableView显示大型内容的列表单行,多列垂直滚动,没有水平滚动 大量的数据集性能强大,而且普遍存在于iPhone的应用程序中TableView Styles UITableView有两个默认的内置风格,第一个是UITableViewStylePlain(简明风格,简明风格表明表格视图自身没有真正地在你自己实际地提供任何外观之前提供很多的外观,大部分情况下,它会做的唯一的事情是它会给你这些header和footer,在顶部的章节header有章节F,它是当前固定在屏幕的顶部,即使你滚动那个内容章节的header F会保持. 阅读全文
posted @ 2012-05-28 22:36 高笑228 阅读(20984) 评论(0) 推荐(0)
摘要:看过官方文档的都知道,官方推荐在iOS4以后使用[UIViewanimateWithDuration:animations:],而不是原 来的[UIViewbeginAnimations:context:],来完成动画,虽然二者功能几乎完全相同,但使用前者在一些情况下会方便不少, 这些内容可以参考官方文档View Programming Guide For iOS的Animation一节.二者有一个值得新手注意的区别就是[UIView animateWithDuration:animations:]默认会禁止触摸,手势等的响应,这可以通过设置option选项来解决(直接引用StackOverF 阅读全文
posted @ 2012-05-17 14:03 高笑228 阅读(235) 评论(0) 推荐(0)
摘要:IOS开发之手势——UIGestureRecognizer 共存在 iPhone 或 iPad 的开发中,除了用touchesBegan / touchesMoved / touchesEnded这组方法来控制使用者的手指触控外,也可以用UIGestureRecognizer的衍生类別来进行判断。用UIGestureRecognizer的好处在于有现成的手势,开发者不用自己计算手指移动轨迹。UIGestureRecognizer的衍生类別有以下几种:UITapGestureRecognizerUIPinchGestureRecognizerUIRotationGestureRecognizer 阅读全文
posted @ 2012-05-17 13:10 高笑228 阅读(1604) 评论(0) 推荐(0)
摘要:应用图标 接下来肯定就是为应用主图标制作高分版本了,因为低分版的图标在新iPad桌面上看起来会惨不忍睹。为了支持更多的iOS设备、更高分辨率的屏幕,iOS开发者需要为自己的应用准备各种尺寸的主程序图标文件,而且这个文件列表貌似会越来越长越来越长……(译者:叹气~)。详情请参考最新的苹果开发者文档 iOS App Programming Guide 和 iOS Human Interface Guidelines 。从官方文档中,我找出来针对新iPad的Retina显示屏我们需要准备的东西:iPad主应用图标 (144×144像素):之前用在iPad 1、2代上的是72×72 阅读全文
posted @ 2012-05-13 00:28 高笑228 阅读(787) 评论(0) 推荐(0)
摘要:命 令 解释 break NUM 在指定的行上设置断点。 bt 显 示所有的调用栈帧。该命令可用来显示函数的调用顺序。 clear 删 除设置在特定源文件、特定行上的断点。其用法为:clear FILENAME:NUM。 continue 继续执行正在调试的程序。该命令用在程序 由于处理信号或断点而 导致停止运行 时。 display EXPR ... 阅读全文
posted @ 2012-05-12 23:15 高笑228 阅读(286) 评论(0) 推荐(0)
摘要:colorWithAlphaComponentUIColor *color = [UIColor redColor];[color colorWithAlphaComponent:0.5f];当设置完红色后,调用此方法设置颜色透明度,为啥不起作用;它是返回新的包含透明度的颜色, 而不是设置color的颜色。这样用:UIColor *color = [UIColor redColor];UIColor *cl = [color colorWithAlphaComponent:0.5f];color没有透明度,cl有透明度。 阅读全文
posted @ 2012-05-07 18:08 高笑228 阅读(300) 评论(0) 推荐(0)
摘要:库中添加AVFoundation.framework#import<AVFoundation/AVFoundation.h>@interface tanzoe_ViewController :UIViewController<AVAudioPlayerDelegate>//添加协议<AVAudioPlayerDelegate>{AVAudioPlayer *mp3;//定义对象}NSString *questionSoundName = @"pao_bg";NSString *currentSoundFilePath = [[NSBund 阅读全文
posted @ 2012-05-04 23:34 高笑228 阅读(351) 评论(0) 推荐(0)
摘要:[UIView commitAnimations]; [UIViewbeginAnimations:nil context:nil]; [UIViewsetAnimationRepeatAutoreverses:YES];//动画是否返回 [UIViewsetAnimationDuration:0.3]; button.alpha=0; [UIViewcommitAnimations];CATransition的type属性1.#define定义的常量kCATransitionFade交叉淡化过渡kCATransitionMoveIn新视图移到旧视图上面kCATransitionPu... 阅读全文
posted @ 2012-05-04 23:33 高笑228 阅读(377) 评论(0) 推荐(0)
摘要:NSArray:有序的集合,存储的元素在一个整块的内存中并按序排列(废话,我学过c语言的数组这还不知道啊);NSSet:无序的集合,散列存储。读developer.apple关于NSSet的解释:You can use sets as an alternative to arrays when the order of elements isn’t important and performance in testing whether an object is contained in the set is a consideration—while arrays are ordered, 阅读全文
posted @ 2012-05-04 23:32 高笑228 阅读(252) 评论(0) 推荐(0)
摘要:添加一个软断点 Run->Manage Breakpoints -> Add symbolic breakpoint, 并输入 objc_exception_throw 阅读全文
posted @ 2012-05-04 14:28 高笑228 阅读(210) 评论(0) 推荐(0)
摘要:例子:@property(nonatomic,retain) NSString *aString;property:属性的定义,相当于C语言的setter和getter方法。assign:简单的赋值,不更改索引的计数。copy:建议一个索引计数为1的对象,然后释放旧对象;retain:释放旧对象,将旧对象的值赋予新对象,再增加新对象的索引计数1。针对具体的数据类型在属性定义应该这样选择:使用assign:对基础的数据类型,比如NSInterger,CGFloat和C数据类型(int,float,double,char等等)。使用copy:针对NSString;使用retain:针对NSObje 阅读全文
posted @ 2012-05-04 11:11 高笑228 阅读(168) 评论(0) 推荐(0)
摘要:今天在iPhone开发过程中,遇到一个需要生成随机数的问题。很快rand()和arc4random()都进入了考虑范围,但选择的时候感觉有点为难。之前的时候可能没有思索就随便挑一个用了,不过这次良心发现不能太随便了。rand() 和arc4random()到底应该如何取舍呢?调查了下,发现下文很好地解答了这个问题。在iPhone中有几个内嵌的随机数发生器,很多人的第一反应可能就是在调用如下函数后使用rand():srandom(time(NULL));但是……,rand()实际并不是一个真正的伪随机数发生器,random()会相对好点,但也不算理想。幸运的是iPhone上还有其他的选择。个人来 阅读全文
posted @ 2012-04-25 11:08 高笑228 阅读(404) 评论(0) 推荐(0)
摘要:SIGABRT 一般是过度release 或者 发送 unrecogized selector导致EXC_BAD_ACCESS 是访问已被释放的内存导致 阅读全文
posted @ 2012-04-24 13:47 高笑228 阅读(160) 评论(0) 推荐(0)
摘要:在某个类中声明一个static 静态变量, 其他类中想使用它或者修改它不用new 这个对象 ,直接使用它的类名方可直接拿到这个静态变量的对象,遍可以在其他类中任意修改这个变量的数值。 在Objective-C 的语法中声明后的static静态变量在其他类中是不能通过类名直接访问的,它的作用域只能是在声明的这个.m文件中 。不过可以调用这个类的方法间接的修改这个静态变量的值。通过一个例子详细的解析一下static关键字的使用。MyClass.h警告: static 写在interface外面编译是没有错误的,但是编译器会报警告,这么说这样的写法是不被编辑器认可的。错误:static 写... 阅读全文
posted @ 2012-04-23 10:16 高笑228 阅读(270) 评论(0) 推荐(0)
摘要:阅读本文之前首先了解copy与retain的区别,如果有不正确的地方望大家多多指教:copy与retain的区别:copy是创建一个新对象,retain是创建一个指针,引用对象计数加1。Copy属性表示两个对象内容相同,新的对象retain为1 ,与旧有对象的引用计数无关,旧有对象没有变化。copy减少对象对上下文的依赖。 retain属性表示两个对象地址相同(建立一个指针,指针拷贝),内容当然相同,这个对象的retain值+1也就是说,retain 是指针拷贝,copy 是内容拷贝。当然在ios中并不是所有的对象都支持copy,mutableCopy,遵守NSCopying 协议... 阅读全文
posted @ 2012-04-21 23:10 高笑228 阅读(7170) 评论(0) 推荐(1)
摘要:1.首先要明确的是,不使用pushViewController的默认动画,所以在调用这个函数时,要将animated设置为NO. 2.使用普通的来CATransition实现转换效果,代码如下:CATransition *animation = [CATransition animation];[animation setDuration:0.3];[animation setType: kCATransitionMoveIn];[animation setSubtype: kCATransitionFromTop];[animation setTimingFunction:[CAMedia. 阅读全文
posted @ 2012-04-21 15:10 高笑228 阅读(1765) 评论(0) 推荐(0)
摘要:1、在Mac OS中NSWindow的父类是NSResponder,而在i OS 中UIWindow 的父类是UIVIew。程序一般只有一个窗口但是会又很多视图。2、UIView的作用:描画和动画,视图负责对其所属的矩形区域描画、布局和子视图管理、事件处理、可以接收触摸事件、事件信息的载体、等等。3、UIViewController 负责创建其管理的视图及在低内存的时候将他们从内存中移除。还为标准的系统行为进行响应。4、layOutSubViews 可以在自己定制的视图中重载这个方法,用来调整子视图的尺寸和位置。5、 UIView的setNeedsDisplay和setNeedsLayout方 阅读全文
posted @ 2012-04-21 10:09 高笑228 阅读(339) 评论(0) 推荐(0)
摘要:默认情况下,我们向一个View中添加一个子View时,子View的越界部分也会显示出来,当然超过屏幕部分是显示不出来,因为无法在你手上显示内容了。看下面的图:上图中,橙色的View是蓝色View的子View。看左图,由它们的Frame设置,橙色的View部分超出的蓝色View的区域,默认情况下,蓝色View超出部分也会显示出来,除非在屏幕之外的部分。而我们有时候不想要这种行为,希望越界部分不显示出来,像右图所示那盘。比如我们可能期望橙色View的动画效果只在它的父View,即蓝色View之内展现。其实问题很简单,正如标题中所提示的那个 clipToBounds属性,字面意思是裁减到边界,就是超 阅读全文
posted @ 2012-04-18 17:47 高笑228 阅读(387) 评论(0) 推荐(0)
摘要:在iPhone开发中,使用全局变量有这么几种实现方法:1、在AppDelegate中声明并初始化全局变量 然后在需要使用该变量的地方插入如下的代码: //取得AppDelegate,在iOS中,AppDelegat被设计成了单例模式 AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; appDelegate.Your Variable2、使用 extern 关键字2.1 新建Constants.h文件(文件名根据需要自己取),用于存放全局变量;2.2 在Constants.h中写入你需要... 阅读全文
posted @ 2012-04-17 16:38 高笑228 阅读(16386) 评论(1) 推荐(0)