2012年12月11日

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 阅读(315) 评论(0) 推荐(0)

2012年12月3日

(转)ios随即数

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

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

2012年8月17日

非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 阅读(1782) 评论(0) 推荐(0)

2012年7月31日

(转)在新线程中使用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 阅读(175) 评论(0) 推荐(0)

2012年3月6日

(转)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 阅读(360) 评论(0) 推荐(0)

2012年2月21日

(转)升级到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 阅读(218) 评论(0) 推荐(0)

(转)如何优化UITableView性能

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

posted @ 2012-02-21 16:16 east520 阅读(353) 评论(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 阅读(186) 评论(0) 推荐(0)

2011年11月16日

(转)NSOperationQueue和NSOperation的使用方法

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

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

2011年11月15日

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 阅读(296) 评论(0) 推荐(1)

导航