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中实现)
原文:http://www.cnblogs.com/KyleRuan/p/4296152.html