2012

Oct

23

iOS开发之stretchableImageWithLeftCapWidth:topCapHeight函数用法
文章分类:iOS开发
- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight

这个函数是UIImage的一个实例函数,它的功能是创建一个内容可拉伸,而边角不拉伸的图片,需要两个参数,第一个是不拉伸区域和左边框的宽度,第二个参数是不拉伸区域和上边框的宽度。

第一次用这个函数的时候一直搞不懂为什么只要两个参数就行,至少应该指定左上角和右下角,总共四个参数啊。后来读读文档才明白,只需要两个参数就行了。

参数的意义是,如果参数指定10,5。那么,图片左边10个像素,上边5个像素。不会被拉伸,x坐标为11和一个像素会被横向复制,y坐标为6的一个像素会被纵向复制。注意:只是对一个像素进行复制到一定宽度。

......

2012

Oct

18

OS X Mountain Lion 10.8中无法使用SVN命令的解决方法
文章分类:iOS开发

前面提到了在Mac OS X下配置SVN服务器,但升级到10.8后,是用SVN命令时会发现:

localhost:~ WuLeilei$ svn
-bash: svn: command not found

不要紧,将Xcode加入paths即可。

编辑/ect/paths,加入如下一行:

......

2012

Sep

29

长大啦
文章分类:个人日记

2012年10月3日。

2012

Sep

20

iOS开发之self.abc = nil与[_abc release]的区别
文章分类:iOS开发

前者使用property的点操作符,也就相当于调用了abc对应的set method,和这句是一样的:[self setAbc:nil];

而后者没有通过property,直接访问了成员变量,调用了它的release方法。

对于set method来说,用synthesize来让系统帮我们生成的set方法和如下的类似:

......

2012

Sep

04

网页中嵌入flv播放器
文章分类:XHTML相关

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="500" height="400">
    <param name="movie" value="flvplayer.swf" />
    <param name="quality" value="high" />
    <param name="allowFullScreen" value="true" />
    <param name="FlashVars" value="vcastr_file=yo.flv&LogoText=lhking&BufferTime=3" />
    <embed src="flvplayer.swf" allowfullscreen="true" flashvars="vcastr_file=yo.flv&LogoText=lhking" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="500" height="400"></embed>
</object>

复制粘贴后就可以使用,实际上http://www.sopif.com/1.swf中的1.swf是1.flv,因为1.flv请求被拒绝,所以改了下扩展名,还是可以用的。

若要实现自动播放,只要加上IsAutoPlay=1"即可:

......

2012

Aug

23

iOS开发之自定义NSLog
文章分类:iOS开发

1、如何自定义NSLog呢?

直接在工程的XXX_Prefix.pch中加入以下语句(就相当于在全局中定义了)
#define NSLog NSLog(@"#%s##%d#",strrchr(__FILE__,'/'),__LINE__);NSLog
例如NSLog(@" begin main function");
打印出来如下
#/main.mm##30#
begin main function

2、如何在发行版release中屏蔽NSLog?

......

2012

Aug

06

转眼间八月了
文章分类:个人日记

五月底的时候,去一家公司面试了,其实这家公司我关注已久了,去年8月份找工作的时候有注意过,但那时刚入职了,就没去面试。六月底,正式去这家公司上班了,感觉还不错,外包公司,做iOS的人数还比较多,有十几人,氛围不错,用到的技术也很全面,正是我想做的工作。终于摆脱了光杆司令,不用再闭门造车了。

上周末去参加了一位高中同学的婚礼,高中时最好的兄弟,祝福他们。还碰到了几位高中同学,很多年没见面了,但还是能一眼认出对方,变化都不太大。

很忙。

......

2012

Aug

05

iOS开发之Cocos2D中CCSprite执行完动作之后调用回调自行销毁
文章分类:iOS开发

1、函数

在动作序列中间或者结束调用某个函数,执行任何需要执行的任务:动作、状态修改等。代码如下:

- (void) OnCallFunc:(id) sender {
id ac1 = [CCMoveBy actionWithDuration:2 position:ccp(200, 200)];
id ac2 = [ac1 reverse];
id acf = [CCCallFunc actionWithTarget:self selector:@selector(CallBack1)];
[sprite runAction:[CCSequence actions:ac1, acf, ac2, nil]];
}

对应的函数为:(再做一个动作,这就实现了动作、动作序列癿任意扩展和连接)

......

2012

Jul

27

iOS开发之深入浅出多线程NSThread
文章分类:iOS开发

iOS 支持多个层次的多线程编程,层次越高的抽象程度越高,使用起来也越方便,也是苹果最推荐使用的方法。下面根据抽象层次从低到高依次列出iOS所支持的多线程编程范式:
1, Thread;
2, Cocoa operations;
3, Grand Central Dispatch (GCD) (iOS4 才开始支持)

下面简要说明这三种不同范式:

Thread 是这三种范式里面相对轻量级的,但也是使用起来最负责的,你需要自己管理thread的生命周期,线程之间的同步。线程共享同一应用程序的部分内存空间, 它们拥有对数据相同的访问权限。你得协调多个线程对同一数据的访问,一般做法是在访问之前加锁,这会导致一定的性能开销。在 iOS 中我们可以使用多种形式的 thread:
Cocoa threads: 使用NSThread 或直接从 NSObject 的类方法 performSelectorInBackground:withObject: 来创建一个线程。如果你选择thread来实现多线程,那么 NSThread 就是官方推荐优先选用的方式。
POSIX threads: 基于 C 语言的一个多线程库,Cocoa operations是基于 Obective-C实现的,类 NSOperation 以面向对象的方式封装了用户需要执行的操作,我们只要聚焦于我们需要做的事情,而不必太操心线程的管理,同步等事情,因为NSOperation已经为我 们封装了这些事情。 NSOperation 是一个抽象基类,我们必须使用它的子类。iOS 提供了两种默认实现:NSInvocationOperation 和 NSBlockOperation。

......

2012

Jul

15

Mac OS X下配置SVN服务器
文章分类:开发相关

之前在WindowsLinux下面配置过SVN服务器,现在在Mac下面做iOS开发,为方便代码管理,于是就在Mac下面配置了SVN服务器。

Mac自带了svn服务端和客户端,所以只需要简单配置一下就可以使用:

1、建立版本库:

......

页数2/36 12345 ... 36

闲言碎语

突然发现,又是一年 (6月6日)

很久没来看博客了,发现头像又不能显示。。。 (3月28日)

FedEx真是龟速! (8月27日)

文章分类

最近文章

I'M BACK

让iOS App通过iTunes进行文...

生活不容易,何必呢

清除Linux系统中/var/spoo...

iOS开发之UIWebView自定义网...

最近评论

日志归档

友情链接

其它功能

随机标签