Fork me on GitHub
上一页 1 ··· 104 105 106 107 108 109 110 111 112 ··· 125 下一页

2012年2月10日

摘要: 在iOS中如何将两张图混合成一张图呢?比如有一张是透明图,另外一张是不透明的,混合为一张图,并且保存起来。有关保存可见将图片保存到照片相册中。上图所示,可将红色手绘的色彩图片和原来的图层混合。代码如下:-(void)generateImageToPhotoAlbum{ NSLog(@"save image to photo album."); UIGraphicsBeginImageContext(CGSizeMake(1024, 768)); [drawImage.image drawInRect:self.frame]; UIImage *foregroundImage 阅读全文
posted @ 2012-02-10 09:04 pengyingh 阅读(1463) 评论(0) 推荐(0)
摘要: 编写了个类似这样的视图动画。其中灰色部分是子视图(UIView)。点击一下,就上移,再点击就退回。上来需要添加的是tap手势的处理:UITapGestureRecognizer *recognizer=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];[self addGestureRecognizer:recognizer];[recognizer release];在tap时会调用下面的方法:-(void)handleTap:(UITapGestureRecognizer *) 阅读全文
posted @ 2012-02-10 09:02 pengyingh 阅读(216) 评论(0) 推荐(0)
摘要: 之前,在在objc项目中使用常量中,使用c的预处理#define来设置常量。比如,可以做个头文件,然后在需要的类文件中import,使用常量。但这不是最佳实践。这样做可能是最好的方式,首先在比如叫Constants.h的头文件中:#import <Foundation/Foundation.h>extern NSString * const kInitURL;@interface Constants : NSObject {}@end这里使用到extern c关键字,表示这个变量已经声明,只是引用。const关键字表示变量是常量,不可修改。在objc的约定里,常量也是大小写混排的驼 阅读全文
posted @ 2012-02-10 08:54 pengyingh 阅读(6070) 评论(0) 推荐(2)
摘要: 转载:http://marshal.easymorse.com/archives/4152在java语言里,可以通过如下代码来实现加载类的时候执行对类的操作,一般叫:类初始块,或者,类加载块。比如:public class MyClass{ static{ …… }}在objc语言里,对应的机制是,类方法,load和initialize。比如:#import "Constants.h"@implementation Constants+ (void)initialize{ NSLog(@"init constants >>>>>> 阅读全文
posted @ 2012-02-10 08:48 pengyingh 阅读(128) 评论(0) 推荐(0)

2012年2月9日

摘要: iOS可通过两种方式播放声音:播放压缩的声音文件,比如mp3文件,一般使用播放声音中提到的方法,适用于播放时间较长,比如大于30秒,AVAudioPlayer可以提供更多的控制特性,比如暂停等等播放系统声音,比如翻页的哗啦声,应该使用播放系统声音的方法,因为压缩的声音文件比播放wav等非压缩声音文件在播放前消耗更多的处理器资源,这样的声音还要频繁的播放,而且,因为系统声音文件都较小,一般小于30秒,因此即使压缩格式,也不会节省多少存储空间。本文介绍后者,播放系统声音。系统声音属于AudioToolbox框架,因此使用前,需要给项目安装框架:另外,需要引用头文件:#import <Audi 阅读全文
posted @ 2012-02-09 16:51 pengyingh 阅读(4217) 评论(1) 推荐(0)
摘要: 这是在ios开发中常见的功能。即,touch移动事件,是移动到当前视图的子视图中,还是移动到当前视图以外了。办法是,继承UIView,覆盖touchesMoved方法:- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{ UITouch *touch=[touches anyObject]; if (![self pointInside:[touch locationInView:self] withEvent:nil]) { NSLog(@"touches moved outside the view&q 阅读全文
posted @ 2012-02-09 16:49 pengyingh 阅读(282) 评论(0) 推荐(0)
摘要: 使用Grails和Groovy,实现了这样的需求:zip文件上传zip文件上传后,在zip文件中加入自定义文本文件在Grails实现复杂的数据录入上实现的本示例。示例如图:准备工作:文件上传首先说一下文件上传,在Grails中,借助Spring MVC的底层支持,实现还是很容易的。视图:<body><div style="margin-left: 15px;"><g:message code="${flash.message}" /><g:form action="uploadFile" me 阅读全文
posted @ 2012-02-09 15:33 pengyingh 阅读(1518) 评论(0) 推荐(0)
摘要: 以下内容翻译自:http://code.google.com/p/cocoaasyncsocket/CocoaAsyncSocket支持tcp和udp。其中:AsyncSocket类是支持TCP的AsyncUdpSocket是支持UDP的AsyncSocket是封装了CFSocket和CFSteam的TCP/IP socket网络库。它提供了异步操作,本地cocoa类的基于delegate的完整支持。主要有以下特性:队列的非阻塞的读和写,而且可选超时。你可以调用它读取和写入,它会当完成后告知你自动的socket接收。如果你调用它接收连接,它将为每个连接启动新的实例,当然,也可以立即关闭这些连接 阅读全文
posted @ 2012-02-09 15:29 pengyingh 阅读(379) 评论(0) 推荐(0)
摘要: [self performSelector:@selector(initContentView) withObject:nil afterDelay:2];在这里会延时2秒执行initContentView方法。有时候,需要取消延时操作。尤其当这个延时比较长的时候。比如:延时10秒显示一个动画,可未到10秒,用户操作退出了当前的视图演示10秒隐藏当前的工具条菜单,在此期间,又对菜单做了操作,也许只是touch了菜单区域上述情况,都需要取消延时调用,后一种情况,还需要启动新的延时调用。解决办法很简单:[NSObject cancelPreviousPerformRequestsWithTarge 阅读全文
posted @ 2012-02-09 15:25 pengyingh 阅读(641) 评论(0) 推荐(0)
摘要: 在使用NSOperationQueue简化多线程开发中介绍了iOS的操作队列使用方法。这里补充一下队列的优先级功能。假设现在队列中有多个操作(NSOperation),现在再向队列中加入新的操作,并且希望新增加的操作排在未执行操作的最前面。这时就需要设置操作的优先级了。编写了个最简单的NSOperation,头文件:#import <Foundation/Foundation.h>@interface MyOperation : NSOperation{ NSString *name;}@property (nonatomic,retain) NSString *name;@end 阅读全文
posted @ 2012-02-09 15:22 pengyingh 阅读(170) 评论(0) 推荐(0)
上一页 1 ··· 104 105 106 107 108 109 110 111 112 ··· 125 下一页

导航