ios开发基础知识 - 2

移动物体

CABasicAnimation *theAnimation;
theAnimation=[CABasicAnimation animationWithKeyPath:@"transform.translation.x"];
theAnimation.duration=1;
theAnimation.repeatCount=2;
theAnimation.autoreverses=YES;
theAnimation.fromValue=[NSNumber numberWithFloat:0];
theAnimation.toValue=[NSNumber numberWithFloat:-60];
[view.layer addAnimation:theAnimation forKey:@"animateLayer"];

参考:


Field Key Path


Description


rotation.x


The rotation, in radians, in the x axis.


rotation.y


The rotation, in radians, in the y axis.


rotation.z


The rotation, in radians, in the z axis.


rotation


The rotation, in radians, in the z axis. This is identical to setting the rotation.z field.


scale.x


Scale factor for the x axis.


scale.y


Scale factor for the y axis.


scale.z


Scale factor for the z axis.


scale


Average of all three scale factors.


translation.x


Translate in the x axis.


translation.y


Translate in the y axis.


translation.z


Translate in the z axis.


translation


Translate in the x and y axis. Value is an NSSize or CGSize.



访问别的类的属性或者方法

myAppDelegate *appDelegate
     = (myAppDelegate *)[[UIApplication sharedApplication] delegate];
[[[appDelegate rootViewController] flipsideViewController] myMethod];


遍历子视图

for (UIImageView *anImage in [self.view subviews]) {
     if (anImage.tag == 1) {
          // do something
     }
}


播放音乐

	// 设置音乐文件路径
path = [[NSBundle mainBundle] pathForResource:@"mani" ofType:@"mp3"];

	// 判断是否可以访问这个文件
if ([[NSFileManager defaultManager] fileExistsAtPath:path])
{
		// 设置 player
	player = [[AVAudioPlayer alloc] initWithContentsOfURL:
			  [NSURL fileURLWithPath:path] error:nil];

		// 调节音量 (范围从0到1)
	player.volume = 0.4f;

		// 准备buffer,减少播放延时的时间
	[player prepareToPlay];

		// 设置播放次数,0为播放一次,负数为循环播放
	[player setNumberOfLoops:-1];

	[player play];    

}


随机数

rand()

例:

[_cloud02 setFrame:CGRectMake(-1024+rand()%600, -768+rand()%300, 2048, 1536)];
[_cloud01 setFrame:CGRectMake(-1024+rand()%600, -768+rand()%300, 2048, 1536)];


Timer

每秒调用

[NSTimer scheduledTimerWithTimeInterval:1
     target:self
     selector:@selector(myMethod)
     userInfo:nil
     repeats:YES];

如果需要传递参数的话:

[NSTimer scheduledTimerWithTimeInterval:1     target:self
     selector:@selector(myMethod)
     userInfo:myObject
     repeats:YES];

 

-(void)myMethod:(NSTimer*)timer {
     // Now I can access all the properties and methods of myObject
     [[timer userInfo] myObjectMethod];
}

停止Timer

[myTimer invalidate];
myTimer = nil;


时间

CFAbsoluteTime myCurrentTime = CFAbsoluteTimeGetCurrent();


在模拟器里测试 App 的加速度感应功能

在模拟器里可以用鼠标点击模拟 iPhone 的触摸操作,但重力感应(比如用户倾斜机身来操控飞机/赛车)怎么模拟?按住 command 再按左右方向键,就能在电脑模拟器上测试加速度感应了。

时间: 2024-11-13 14:28:14

ios开发基础知识 - 2的相关文章

ios开发基础知识 - 1

输出 command+shift+r NSLog(@"log: %@ ", myString);  NSLog(@"log: %f ", myFloat);  NSLog(@"log: %i ", myInt); 显示图片 CGRect myImageRect = CGRectMake(0.0f, 0.0f, 320.0f, 100.0f); UIImageView *myImage = [[UIImageView alloc] initWith

iOS开发基础之C语言_IOS

为何学习iOS开发要先学C语言呢,学习c语言对ios开发有何作用. 现在越来越多的iOS开发兴趣爱好者投入到了iOS培训中,有的是已经在职的员工,有的是还在就读的学生,还有一些是完全零基础的同学,那么对于他们来说就要一切从基础开始学,首先从C语言学起. 因为C语言是一门语言基础,因具备简洁.灵活等特点而被广泛应用,在多种开发环境中都起着重要作用.那么,为什么学习iOS开发要先学C语言呢? 因为在iOS开发中,会经常使用C语言和汇编的,而汇编语言相对而言要生涩繁琐些,C语言因此便成为程序员的首选.

Android百度地图应用开发基础知识_Android

一.概述  这一章先来点有意思的百度地图应用示例,然后再分章详细介绍用C#开发Android App的各种基本技术.  本章以百度官网2016年1月发布的地图API(3.7.1版)为例,演示如何用C#和VS2015编写百度地图应用程序,这些示例程序既可以在Android 6.0的x86模拟器中运行,也可以发布到Android 4.0以上版本的手机中测试实际运行的效果. 1.下载官网提供的Demos 首先访问下面的网址: http://developer.baidu.com/map/ 打开网页后,

微信小程序开发基础知识总结

微信小程序在无论在功能.文档及相关支持方面,都是优于前面几种微信账号类型,它提供了很多原生程序才有的接口,使得我们的小程序在很多方面突破H5页面应用的限制,更加接近原生程序的功能,因此微信小程序具有很大的前景想象力.它提供了自己的视图层描述语言 WXML 和 WXSS,以及基于 JavaScript 的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,可以让开发者可以方便的聚焦于数据与逻辑上. 1.小程序的目录结构 小程序的目录结构如下所示. 其中项目级别的的文件包括 app.js.ap

苹果开发基础知识

App ID(应用ID) App ID是识别不同应用程序的唯一标示符.每个app都需要一个App ID或者app标识. 目前有两种类型的App标识:一个是精确的App ID(explicit App ID),一个是通配符App ID(wildcard App ID). 使用通配符的App ID可以用来构建和安装多个程序.尽管通配符App ID非常方便,但是一个精确的App ID也是需要的, 尤其是当App使用iCloud 或者使用其他iOS功能的时候,比如Game Center.Push Not

嵌入式开发基础知识:Linux支持的多种文件系统类型

Linux支持多种文件系统类型,在嵌入式开发中上常用有:ROMFS.JFFS2.NFS.CRAMFS.YAFFS.UBIFS等. JFFS文件系统 JFFS文件系统最早是由瑞典Axis Communications公司基于Linux2.0的内核为嵌入式系统开发的文件系统.JFFS2是RedHat公司基于JFFS开发的闪存文件系统,最初是针对RedHat公司的嵌入式产品eCos开发的嵌入式文件系统,所以JFFS2也可以用在Linux, uCLinux中. Jffs2: 日志闪存文件系统版本2 (J

使用ARM汇编破解iOS程序基础知识分享_IOS

一.Thumb指令与ARM指令 Thumb指令为16位,因此存储代码的密度高,节省存储空间.但是功能不全,它只是ARM指令(32位)集的补充,是ARM指令集下的一个子集.在初级阶段我们不需要了解这些知识,只要有个概念知道有这么个东西就可以. 二.ARM的寄存器初步了解 R0-R3: 用于函数参数及返回值的传递,超过4个参数,其它参数存在栈中,在ARM中栈是向下生长的,R0还可以作为返回值. R4-R6, R8,R10-R11: 没有特殊规定,就是普通的通用寄存器 R7: 栈帧指针,指向母函数与被

Android百度地图应用开发基础知识

一.概述  这一章先来点有意思的百度地图应用示例,然后再分章详细介绍用C#开发Android App的各种基本技术.  本章以百度官网2016年1月发布的地图API(3.7.1版)为例,演示如何用C#和VS2015编写百度地图应用程序,这些示例程序既可以在Android 6.0的x86模拟器中运行,也可以发布到Android 4.0以上版本的手机中测试实际运行的效果.  1.下载官网提供的Demos  首先访问下面的网址: http://developer.baidu.com/map/ 打开网页

iOS开发基础:UITableView

  实现UITableView的Controller需要实现 < UITableViewDataSource, UITableViewDelegate > 这两个代理,具体就是要实现以下两个方法: - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return [model getRowCount]; } //返回UITableView的行数 - (UITableV