- 浏览: 659535 次
- 性别:
- 来自: 北京
最新评论
-
lizaochengwen:
网络请求碰到的中文乱码使用encodeURL吧- (NSStr ...
iPhone开发/iPad开发 中文乱码问题 -
hhb19900618:
还是没弄懂怎么解决了中文乱码? 正确代码能重写贴出吗
iPhone开发/iPad开发 中文乱码问题 -
zhengjj_2009:
我的理解是讲ipa文件解压缩之后再重新打包,已经破坏了签名,所 ...
xcodebuild和xcrun实现自动打包iOS应用程序 -
zhengjj_2009:
我参考你的“ 从ipa格式的母包生成其它渠道包的shell脚本 ...
xcodebuild和xcrun实现自动打包iOS应用程序 -
同一片天空:
问题果然解决了
iOS 搭建 XMPP实现环境
文章列表
///新增api,获取录音权限. 返回值,YES为无拒绝,NO为拒绝录音.
- (BOOL)canRecord
{
__block BOOL bCanRecord = YES;
if ([[[UIDevice currentDevice] systemVersion] compare:@"7.0"] != NSOrderedAscending)
{
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
if ([audioSess ...
一位软件工程师的6年总结
- 博客分类:
- 了解自己
一位软件工程师的6年总结
作者:成晓旭
(声明:欢迎转载,请保证文章的完整性)
“又是一年毕业时”,看到一批批学子离开人生的象牙塔,走上各自的工作岗位;想想自己也曾经意气风发、踌躇满志,不觉感叹万千……本文是自己工作6年的经历沉淀或者经验提炼,希望对所有的软件工程师们有所帮助,早日实现自己的人生目标。本文主要是关于软件开发人员如何提高自己的软件专业技术方面的具体建议,前面几点旨在确定大的方向,算是废话吧。
谨以此文献给那个自己为你奉献3年青春与激情的开发团队。还有团队成员:PPL、YT、YK 、TYF、LGL、CHL、CDY、CB、DPD。
1、 分享第一条经验:“学历代表过 ...
1、CGRectInset
CGRect CGRectInset (
CGRect rect,
CGFloat dx,
CGFloat dy
);
该结构体的应用是以原rect为中心,再参考dx,dy,进行缩放或者放大。
测试:
CGRect rect = CGRectMake(10.0, 10.0, 100.0, 100.0);
CGRect rectToDraw = CGRectInset(rect, 10.0, 10.0);
NSLog(@"==%@", NSStringFromCGRect(rectToDraw));
结果为:“= ...
用NSData玩转二进制文件的读写
- 博客分类:
- iphone
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSString *path = @"/Users/billchen/Desktop/f1.rtf";
NSString *temp = @"Hello Friend";
int i = 100;
...
const void *a
这是定义了一个指针a,a可以指向任意类型的值,但它指向的值必须是常量。
在这种情况下,我们不能修改被指向的对象,但可以使指针指向其他对象。
例如:
const void *a;*a=0x123;//是编译通不过的,因为*a中放的是个const值。const值是不能被改变的。
const int m=1; const int n=2;
a=&m; a=&n;//编译可以通过。
void* const a
这是定义了一个const指针a,a可以指向任意类型的值,但a是指向某个对象的常量指针。
我们不能修改指针中存储的地 ...
NSTimer初始化器接受调用方法逻辑之间的间隔作为它的其中一个参数,预设一秒执行30次。CADisplayLink默认每秒运行60次,通过它的frameInterval属性改变每秒运行帧数,如设置为2,意味CADisplayLink每隔一帧运行一次,有效的逻辑每秒运行30次。
此外,NSTimer接受另一个参数是否重复,而把CADisplayLink设置为重复(默认重复?)直到它失效。
还有一个区别在于,NSTimer一旦初始化它就开始运行,而CADisplayLink需要将显示链接添加到一个运行循环中,即用于处理系统事件的一个Cocoa Touch结构。
NSTimer 我们通常会用在 ...
三个函数的申明分别是:
void* realloc(void* ptr, unsigned newsize);
void* malloc(unsigned size);
void* calloc(size_t numElements, size_t sizeOfElement);
都在stdlib.h函数库内。它们的返回值都是请求系统分配的地址,如果请求失败就返回NULL。
malloc与calloc的 ...
1,使用UISegmentedControl appearance时出现中间的bar添加不上背景图片(如附件),主要是因为图片的原因,将高清图片的高改成88,就可以。
原因:默认使用UIBarMetricsDefault这种类型,这种类型的需要44像素的高。
//BarMetrics表示navigation bar的状态,UIBarMetricsDefault 表示portrait状态(44pixel height),UIBarMetricsLandscapePhone 表示landscape状态(32pixel height)
初学iOS6 中的Core Image技术
- 博客分类:
- iphone
引用跟着这个教程,你会通过实际动手的经验来学习Core Image技术,亲身体验如何应用一些不同的滤镜来实时地产生各种神奇的效果。
Core Image是一个很强大的框架。它可以让你简单地应用各种滤镜来处理图像,比如修改鲜艳程度, 色泽, 或者曝光。 它利用GPU(或者CPU,取决于客户)来非常快速、甚至实时地处理图像数据和视频的帧。多个Core Image滤镜可以叠加在一起,从而可以一次性地产生多重滤镜效果。这种多重滤镜的优点在于它可以生成一个改进的滤镜,从而一次性的处理图像达到目标效果,而不是对同一个图像顺序地多次应用单个滤镜。每一个滤镜都有属于它自己的参数。这些参数和滤镜信息,比如功能、输 ...
如何让自定义Layer触发触摸事件?
bool LayerXXX::init()
{
this->setTouchEnabled(true);
CCTouchDispatcher* td = CCDirector::sharedDirector()->getTouchDispatcher();
td->addTargetedDelegate(this, 0, true); //kCCMenuHandlerPriority - 10
// ...
}
解释:::::
方法 ::void CCTouchDispatcher::ad ...
cocos2d-x添加触摸层阻止后端事件
- 博客分类:
- Coco2d-x
由于cocos2d-x中的优先级小的,先响应触摸事件,这是,我们只需要设置新添加的cclayer层的优先级即可,但由于ccmenu的优先级较高,所以,很有可能透过我们添加的触摸层,响应之前的绑定的button事件,而如果我们设置此触摸层优先级比button的低时,又导致在这层添加的button按钮的触摸事件不能触发,导致本层应该触摸的事件也不能响应,这样也达不到我们理想的效果:弹出一个层,屏蔽后面的事件,在当层可以有一些按钮,让我们进行不同的选择,比如确定,or 取消。
自从cocos2d-x2.0版本后,添加了一个CCControlButton,这个优先级为0,比默认的bu ...
1,将工程上传到SVN。
2,将工程check out 到本地。
3,现在本地的工程一些相应的目录下缺失静态库,因此先把相应的静态库拷贝到本地工程相应的目录下。
4,进入终端,cd到本地工程中的一静态库目录下。
(如:文件路为:
/Users/tixatixa/Desktop/Test/Support/OpencoreAMR/include/lib/libopencore-amrnb.a,
则cd到
/Users/tixatixa/Desktop/Test/Support/OpencoreAMR/include/lib/)
5,用命令行(Terminal)下的svn命令
svn add libo ...
While playing a video using MPMoviePlayerViewController or MPMoviePlayerController, iOS SDK 5.2 generates an error as follows.
An AVPlayerItem can occupy only one position in a player’s queue at a time.
The exact error is as follows.
*** Terminating app due to uncaught exception ‘NSInvalidArgume ...
在此列举一些理由:
1,每天写工作文档,可以整理每天的工作内容,养成总结和写文稿的能力。
2,一些工作内容,难度比较大,以文稿的形式,记录下来,可以强化自己理解此问题的能力,以后碰到类似的问题,可以快速找到记录,解决问题。
3,提高文稿的质量,也就是提高自己的竞争力。
4,作为前人,为后人纳凉。