ios学习随笔五

Touches

触摸事件处理:在viewcontroller中添加touch的一些方法

//获取触摸点println(touches.anyObject()?.locationInView(self.view))

多点触摸得在viewdidload中打开多触摸,

self.view.multipleTouchEnabled = true

 

缩放图片:

缩放和放大是通过多点触摸时候,屏幕之间的距离。当两点之间的距离大了,就是放大,否则是缩小

if touches.count == 2{

var cunrentdistance:CGFloat = 0

var p1 = touches.allObjects[0].locationInView(self.view)

var p2 = touches.allObjects[1].locationInView(self.view)

var xx = p1.x-p2.x

var yy = p1.y-p2.y

cunrentdistance = sqrt(xx*xx+yy*yy)

if cunrentdistance - lastdistance > 5{

ni.transform = CGAffineTransformScale(ni.transform, 1.1, 1.1)

lastdistance = cunrentdistance

println("放大")

//放大

}

else if cunrentdistance - lastdistance < -5

{

ni.transform = CGAffineTransformScale(ni.transform, 0.9, 0.9)

lastdistance = cunrentdistance

println("缩小")

}

}

 

1打开网页,如果不是在View上打开网页,会自动跳转到safari来打开

UIApplication.sharedApplication().openURL(NSURL(string : "http://baidu.com")!)

常用打开操作—发邮件,打电话,发短信和打开网页一致 只是协议不同

邮件是string : “mailto://xxxxx"

打电话string : "tel://xxxxx"

发短信string : "sms://xxxx"

自定义打开协议(即在一个应用里面打开另一个应用)

1在被访问的程序中的info.plist中在根节点添加一个URL types

2这个URL identity换成URL Schemes 并添加协议名字

3在AppDelegate方法中添加

func application(application: UIApplication, handleOpenURL url: NSURL) -> Bool

并在这个方法里提供一个视图

4在另一个程序的方法中打开自定义的NSURL协议-----这个NSURL协议需要符合URL的标准

 

拍照,获取图片集里面的图片的方法

1首先 定义一个UIImagePickerController对象,并选定这个对象的sourceType 类型为UIImagePickerControllerSourceType

2设定这个对象的委托 为self, 这里需要继承 UIImagePickerControllerDelegate ,UINavigationControllerDelegate协议,并实现imagePickerController方法

这个方法中参数 info 为照片的信息, var image = info[UIImagePickerControllerOriginalImage] as UIImage

通过这个指令赋值给一个 imageview对象 

并通过picker的dismissViewControllerAnimated方法退出当前图库

  

IOS应用沙盒 ,写出文件

IOS使用沙盒模式,保证了数据的安全,读写是建立在沙盒之上的

1首先访问到程序的目录,程序主目录只有四个文件夹,

 //下面的命令是访问到Documen文件夹,第二个参数是访问所有文件

var sp = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true)

 

2将文件写到相应的路径下

2.1文件数据为

var data = NSMutableData()

data.appendData("ni hao Swift\n".dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)!)

2.2放到路径下

data.writeToFile((url?.path!)! , atomically: true)

读取文件:

//read to program measure1

 var data = NSData(contentsOfFile:(url?.path)!)

 var str = NSString(data: data!, encoding: NSUTF8StringEncoding)

 

//read to program measure2 when you know the file is a string

var str = NSString(contentsOfURL: url!, encoding: NSUTF8StringEncoding, error: nil)

 

用户首选项数据—— 只能是常用的类型和 小的数据——程序退出了,程序数据也不会丢失

1存储用户首选项数据

var ud = NSUserDefaults.standardUserDefaults()

ud.setObject(savedText.text, forKey: "data")

println("saved")

2读取用户首选项数据

通过objectForKey找到上次保存的(这个方法可以在viewdidload中实现)

 

posted @ 2015-02-19 16:03  Kyle Ruan  阅读(175)  评论(0编辑  收藏  举报