随笔分类 -  IOS

1 2 下一页

iOS UIScrollView
摘要:(转)iOS UIScrollViewUIScrollView 类负责所有基于 UIKit 的滚动操作。一、创建1 CGRect bounds = [ [ UIScreen mainScreen ] applicationFrame ] ; 2 UIScrollView* scrollView = [ [UIScrollView alloc ] initWithFrame:bounds ]; 创建完滚动视图后,你可以将另一个视图的内容粘合到滚动视图的空白页上。这回创建一个滚动的内容窗口:1 [ scrollView addSubview:myView]; 你必须给出内容的实际大小,这... 阅读全文

posted @ 2012-12-11 00:51 east520 阅读(326) 评论(0) 推荐(0)

(转)ios随即数
摘要:(转)ios随即数今 天在iPhone开发过程中,遇到一个需要生成随机数的问题。很快rand()和arc4random()都进入了考虑范围,但选择的时候感觉有点为难。 之前的时候可能没有思索就随便挑一个用了,不过这次良心发现不能太随便了。rand() 和arc4random()到底应该如何取舍呢?调查了下,发现下文很好地解答了这个问题。在iPhone中有几个内嵌的随机数发生器,很多人的第一反应可能就是在调用如下函数后使用rand():srandom(time(NULL));但是……,rand()实际并不是一个真正的伪随机数发生器,random()会相对好点,但也不算理想。幸运的是iPhone上 阅读全文

posted @ 2012-12-03 17:44 east520 阅读(383) 评论(0) 推荐(0)

非Objc文件(c, c++)引起的NSObjCRuntime错误
摘要:非Objc文件(c, c++)引起的NSObjCRuntime错误 今天在objc工程中,导入一些c、c++文件时,,编译引起了NSObjCRuntime错误,,,仔细检查发现,原来是在SK_Prefix.pch中,定义了View Code 1 #ifdef __OBJC__2 #import <Foundation/Foundation.h>3 #import <UIKit/UIKit.h>4 #endif5 6 #import "Utils.h"7 #import "Constants.h"8 #import "SK 阅读全文

posted @ 2012-08-17 16:33 east520 阅读(1787) 评论(0) 推荐(0)

(转)在新线程中使用NSTimer
摘要:(转)在新线程中使用NSTimer转自:NStimer 在滚动ScrollView的时候停止,在新线程中使用NSTimer 1 方法一: 2 3 -(void) viewDidLoad{ 4 [self performSelectorInBackground:@selector(call1) withObject:nil]; 5 } 6 7 -(void) call1{ 8 timer1 = [NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(doSomething) userInfo:ni... 阅读全文

posted @ 2012-07-31 16:18 east520 阅读(178) 评论(0) 推荐(0)

(转)animationWithKeyPath
摘要:(转)animationWithKeyPath转载自 zhujing0866最近很常用 CAKeyframeAnimation 來製作動畫,但有時想找出 animationWithKeyPath 的值卻很困難,所以在這裡歸納一下:transform.scale = 比例轉換transform.scale.x = 闊的比例轉換transform.scale.y = 高的比例轉換transform.rotation.z = 平面圖的旋轉opacity = 透明度CABasicAnimation animationWithKeyPath TypesWhen using the ‘CABasicAni 阅读全文

posted @ 2012-03-06 15:57 east520 阅读(362) 评论(0) 推荐(0)

(转)升级到iOS5后ASIHttpRequest库问题及解决方法
摘要:升级Xcode后,打开以前创建的工程, 运气好,一个错误都没有,程序也能正常跑起来。由于我程序中用了ASIHttpRequest这个库,让我发现了一个小问题,就是 ASIAuthenticationDialog这个内置对话框在网络有代理的情况下出现,然后无论点cancle或是login都不能dismiss。在4.3的SDK中完全没问题,在5.0的SDK中就会在Console中看到输出: Unbalanced calls to begin/end appearance transitions for <ASIAutorotatingViewController:> 很明显示在sdk5 阅读全文

posted @ 2012-02-21 16:18 east520 阅读(226) 评论(0) 推荐(0)

(转)如何优化UITableView性能
摘要:在iOS应用中,UITableView应该是使用率最高的视图之一了。iPod、时钟、日历、备忘录、Mail、天气、照片、电话、短信、Safari、App Store、iTunes、Game Center⋯几乎所有自带的应用中都能看到它的身影,可见它的重要性。然而在使用第三方应用时,却经常遇到性能上的问题,普遍表现在滚动时比较卡,特别是table cell中包含图片的情况时。实际上只要针对性地优化一下,这种问题就不会有了。有兴趣的可以看看LazyTableImages这个官方的例子程序,虽然也要从网上下载图片并显示,但滚动时丝毫不卡。下面就说说我对UITableView的了解。不过由于我也是初. 阅读全文

posted @ 2012-02-21 16:16 east520 阅读(357) 评论(0) 推荐(1)

(转)利用预渲染加速iOS设备的图像显示
摘要:最近在做一个UITableView的例子,发现滚动时的性能还不错。但来回滚动时,第一次显示的图像不如再次显示的图像流畅,出现前会有稍许的停顿感。于是我猜想显示过的图像肯定是被缓存起来了,查了下文档后发现果然如此。后来在《Improving Image Drawing Performance on iOS》一文中找到了一些提示:原来在显示图像时,解压和重采样会消耗很多CPU时间;而如果预先在一个bitmap context里画出图像,再缓存这个图像,就能省去这些繁重的工作了。接着我就写了个例子程序来验证:View Code 1 // ImageView.h 2 #import <UIKit 阅读全文

posted @ 2012-02-21 16:10 east520 阅读(190) 评论(0) 推荐(0)

(转)NSOperationQueue和NSOperation的使用方法
摘要:(转)NSOperationQueue和NSOperation的使用方法多线程开发是一件需要特别精心的事情,即使是对有多年开发经验的工程师来说。为了能让初级开发工程师也能使用多线程,同时还要简化复杂性。各种编程工具提供了各自的办法。对于iOS来说,建议在尽可能的情况下避免直接操作线程,使用比如NSOperationQueue这样的机制。可以把NSOperationQueue看作一个线程池,可往线程池中添加操作(NSOperation)到队列中。线程池中的线程可看作消费者,从队列中取走操作,并执行它。你可以设置线程池中只有一个线程,这样,各个操作就可以认为是近似的顺序执行了。为什么说是近似呢,后 阅读全文

posted @ 2011-11-16 14:45 east520 阅读(250) 评论(0) 推荐(0)

iphone中的绘图相关资料
摘要:iphone中主要通过下面的几个技术来绘图OpenGL, Quartz, UIKit, or Core AnimationUIKit 是非线程安全的,所以最好把所有的绘图都放在主线程上执行不管使用的哪个技术来绘图,所有的绘图都是在 UIView object 中进行, view决定绘图在那里进行绘画周期当一个view需要更新某一部分内容的时候,view会请求 drawRect: 方法在view第一次请求drawRect方法的时候,传递的rectangle 参数一般是view的整个rectangle ,后续更新的时候,传递的一般是需要更新的那部分rectangle 在几种情况下,view会重新绘 阅读全文

posted @ 2011-11-15 10:16 east520 阅读(298) 评论(0) 推荐(1)

CALayer简单教程(转)
摘要:(转自http://sue602.blog.163.com/blog/static/31495307201103034736509/)CALayer简单教程前一阵子读到一篇介绍CALayer(这里简单地称其为层)的教程,比较简单易懂,适合初学者,我在这里就不完全翻译了,只是把要点说明一下。首先要说的是CALayers 是屏幕上的一个具有可见内容的矩形区域,每个UIView都有一个根CALayer,其所有的绘制(视觉效果)都是在这个layer上进行的。(译者注:为验证这点,我写下了如下代码: 1 UILabel* lable = [[UILabel alloc]initWithFrame:CGR 阅读全文

posted @ 2011-11-11 15:59 east520 阅读(226) 评论(0) 推荐(0)

iphone中实现下拉刷新的开源库
摘要:在当前比较流行的iphone/ipad 应用中,下拉屏幕进行刷新非常流行,例如新浪微博,玩转四方,facebook,qq等,在刷新的时候都会使用下拉屏幕的方式来进行。在 github.com上有一个开源的实现该功能的工程,名为EGOTableViewPullRefresh,下载地址如下:https://github.com/enormego/EGOTableViewPullRefresh该 工程使用非常简单,提供了一个EGORefreshTableHeaderView视图供大家使用,并且提供 EGORefreshTableHeaderDelegate来帮助用户获取更新的状态。1 @protoc 阅读全文

posted @ 2011-11-07 15:51 east520 阅读(260) 评论(0) 推荐(0)

Objective-C和C++混编(一)
摘要:官方文档翻译Using C++ With Objective-C苹果的Objective-C编译器允许用户在同一个源文件里自由地混合使用C++和Objective-C,混编后的语言叫Objective-C++。有了它,你就可以在Objective-C应用程序中使用已有的C++类库。Objective-C和C++混编的要点在 Objective-C++中,可以用C++代码调用方法也可以从Objective-C调用方法。在这两种语言里对象都是指针,可以在任何地方使用。例 如,C++类可以使用Objective-C对象的指针作为数据成员,Objective-C类也可以有C++对象指针做实例变量。下例 阅读全文

posted @ 2011-11-05 16:33 east520 阅读(483) 评论(0) 推荐(0)

Objective-C语法之字符串(转)
摘要:Objective-C语法之字符串(转)Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值。而NSMutableString 创建赋值以后可以动态在该字符串上更改内容与长度。1.创建经典的NSString字符串NSString 与 char* 最大的区别就是 NSString是一个objective对象,而char* 是一个字节数组。@+ " 字符串 " 这个符号为objective-c NSString 字 阅读全文

posted @ 2011-11-03 16:20 east520 阅读(1967) 评论(0) 推荐(0)

(转)10个必需的iOS开发工具和资源
摘要:转自酷壳-CoolSheel.cn10个必需的iOS开发工具和资源界面总不是一件很容易事,尤其是iPhone/iPad的界面,做过iOS开发的程序员,一定会感到开发iPhone/iPad的界面是一件多么不容易的事。下面的文章来自10 Essential iOS Developer Tools & Resources, 这个文章介绍了十个iOS开发的基础性工具和资源,其一定会很有效地帮你做iOS的开发。(在这里,我再闲扯一句,虽然Android的开发好像整整 XML文件界面就出来了,其明显比iOS的开发要容易很多,但是我还是觉得iOS的生命力要强过Android,看看Android今天的 阅读全文

posted @ 2011-09-27 11:39 east520 阅读(261) 评论(0) 推荐(0)

XCode工程内多Targets教程
摘要:XCode工程内多Targets教程相信很多人都注意到XCode中, 有个Target的概念. 这在很多地方都有所体现, 比如打开一个工程后, 左侧的列表中有Targets一项, 而在工程界面的顶部菜单中, project里面也有多个涉及到Target的项目, 那么这个Target到底是什么呢? Apple 的人是这样说的:“ Targets that define the products to build. A target organizes the files and instructions needed to build a product into a sequence of b 阅读全文

posted @ 2011-08-17 09:38 east520 阅读(260) 评论(0) 推荐(0)

iPhone制作lib(转)
摘要:iPhone制作lib(转)第一种方式. New Project -> IOS Library ->Cocoa touch Static Library 这样就新建了一个静态库的工程,将你要打包成lib的.m,.h放到class目录下面,然后build就可以了. 打包的时候要分清楚是debug,release. 第二种方式 1.在工程的Targets上右键.Add -> New Target ->Static Library 比如我们建了一个example的target 2.将你要打包的.m.h放到自己新建的文件夹里面.一个一个的选中.m.h,然后右键Get Info, 阅读全文

posted @ 2011-08-17 09:35 east520 阅读(180) 评论(0) 推荐(0)

(转)ObjectiveC 深浅拷贝学习
摘要:(转自 http://woshao.com/article/f91898b24a1211e097d3000c2959fd2a/)在ObjC中,什么是深浅拷贝?深浅拷贝分别指深拷贝和浅拷贝,即mutableCopy和copy方法。copy复制一个不可变对象,而mutableCopy复制一个mutable可变对象。什么时候用到深浅拷贝?下面举几个例子说明。非容器类对象如NSString,NSNumber等一类对象示例1:1 // 非容器类对象2 NSString *str = @"origin string";3 NSString *strCopy = [str copy];4 阅读全文

posted @ 2011-08-01 17:07 east520 阅读(266) 评论(0) 推荐(0)

(转载)获得通讯录中联系人的所有属性
摘要:(转载)获得通讯录中联系人的所有属性 1 ABAddressBookRef addressBook = ABAddressBookCreate(); 2 3 CFArrayRef results = ABAddressBookCopyArrayOfAllPeople(addressBook); 4 5 for(int i = 0; i < CFArrayGetCount(results); i++) 6 { 7 ABRecordRef person = CFArrayGetValueAtIndex(results, i); 8 //读取firstname 9 NSString *pers 阅读全文

posted @ 2011-07-28 09:51 east520 阅读(511) 评论(0) 推荐(0)

(转载)多线程下文件
摘要:(转载自COCOACHINA) 1 NSString*FDownLoadDefaultFile; //下载异常状态的默认文件 2 NSString*FDownLoadLocalFilePath; //下载到本地的保存路径 3 NSIntegerFDownLoadFileCount; //当前下载的文件总数 4 NSInteger FDownLoadID; //下载序列ID 5 6 7 NSMutableArray*FDownLoadFileArr; //下载到本地的文件 8 NSMutableArray*FDownLoadNetworkFilePathArr; //需要下载到本地的网络文件路径 阅读全文

posted @ 2011-07-25 17:01 east520 阅读(219) 评论(0) 推荐(0)

1 2 下一页

导航