方法
2016-08-08 本文已影响0人
theDeskmateOfSb
用到的一些函数
1.取随机数的函数
number = Int(arc4random_uniform(100))+1
这是一个取1--100的随机数
2.取绝对值的函数
diff = abs(a-b)
表示取a和b 的绝对值
3.开根号的函数
var i = 16
Int(sqrt(Double(i)))
print(i)
输出结果i为4
一些用到的方法
1.让标签上字自适应的方法
label.adjustsFontSizeToFitWidth = true
2.让图片大小自适应
let image3=UIImage(named: "SliderTrackLeft")?.resizableImageWithCapInsets(insets)
发消息给图片让他大小可用
3.当多个视图控制器的时候返回上一个控制器
self.dismissViewControllerAnimated(true, completion:.None)
4.在视图控制器上添加网页
override func viewDidLoad() {
//这是一个自动执行的函数,也即是说当跳到这个页面的时候会自动大开你添的网页
let url=NSURL(string: "http://www.runoob.com/html/html-tables.html")
//这个统一资源标示符是👆
let request = NSURLRequest(URL: url! )
//请求是分配一个统一资源定位标示符
myView.loadRequest(request)//给它一个请求
//要在视图控制器上添加一个webview的框架
}
5.用xcode画图
首先在视图控制器上添加一个画布
let canvans = Canvans(frame:self.view.bounds)
canvans.backgroundColor = UIColor.clearColor()
self.view.addSubview(canvans)
然后去新建一个文件cocoa ,选择uiview为父类的文件
接下来就是画图的一些方法了在里面是用贝塞尔曲线来画图的
画图方法
1.画直线
let lineBP = UIBezierPath()
lineBP.moveToPoint(CGPointMake(50, 100))
lineBP.addLineToPoint(CGPointMake(300, 200))
lineBP.lineWidth = 5//线条粗细
UIColor.blackColor().set()//线条的颜色
lineBP.stroke()//这里可以选择空心或者实心
2。画矩形方框
let rectBP = UIBezierPath(rect: CGRectMake(100, 200, 200, 400))//前两个表示坐标后两个表示宽高
//设置线条颜色为红色
UIColor.redColor().setStroke()
//设置填充为黄色
UIColor.yellowColor().set()
//填充矩形区域
rectBP.fill()
//绘制矩形边框
rectBP.stroke()
3.画圆弧
let arcBP = UIBezierPath(arcCenter: CGPointMake(150, 350), radius: 100, startAngle: 0, endAngle: CGFloat(M_PI_2), clockwise: false)
UIColor.greenColor().set()
// arcBP.stroke()
arcBP.fill()
4.画椭圆
let ovalBP = UIBezierPath(ovalInRect: CGRectMake(100, 300, 100, 50))
UIColor(red: 37.0/255.0, green: 67.0/255.0, blue: 128.0/255.0, alpha: 1).set()
ovalBP.fill()
把椭圆后面两项改为一样就能变成圆了
5.画二次曲线
let quadBP = UIBezierPath()
quadBP.moveToPoint(CGPointMake(50, 600))
quadBP.addQuadCurveToPoint(CGPointMake(300, 600), controlPoint: CGPointMake(100, 300))
quadBP.lineWidth = 3
UIColor.grayColor().set()
6.画封闭曲线
let clouseBP = UIBezierPath()
clouseBP.addArcWithCenter(CGPointMake(150, 200), radius: 100, startAngle:-CGFloat(M_PI), endAngle: 0, clockwise: true)
clouseBP.addArcWithCenter(CGPointMake(150, 400), radius: 100, startAngle: 0, endAngle: CGFloat(M_PI), clockwise: true)
//封闭整个曲线
clouseBP.closePath()//这句很关键
clouseBP.lineWidth = 10
UIColor.redColor().set()
clouseBP.stroke()
动画的方法
1。在控制器上给图片一个放图的框
var imageView:UIImageView!
imageView = UIImageView(frame: CGRectMake( x , y , 15, 25))//框的大小坐标
imageView.image = UIImage(named: "runner0")//放一张图显示
要让图片动起来要添加动画的图片
imageView.animationImages = [UIImage(named: "runner0")!,
UIImage(named: "runner1")!,
UIImage(named: "runner2")!,
UIImage(named: "runner3")!,
UIImage(named: "runner4")!,
UIImage(named: "runner5")!
]
//这是一个动画的方法,注意图片名字不能错,而且括号后面的感叹号和逗号不能丢
//动画的总持续时间
imageView.animationDuration = 0.5
self.view.addSubview(imageView)
//开始动画
imageView.startAnimating()
这样子图片回动起来但是,只会在一个地方动
我们需要添加一个时间控制器,让图片在屏幕上也动起来
var timer:NStimer
timer = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: "move", userInfo: nil, repeats: true)
//这里的move是一个函数,一个控制图片移动方向的函数
func move(){
var frame = imageView.frame
imageView.frame.origin.y += 5
imageView.frame.origin.x += 20
imageView.frame = frame
}
随记
控制输出位数
add.text = "\(String(format: "%.2f",jia))"
写动画的代码
override func viewDidLoad() {
super.viewDidLoad()
var imageView:UIImageView!//创建一个图片的对象
//给图片初始化
imageView = UIImageView(frame: CGRectMake(0, 0, 410,730))
//给图片
imageView.animationImages=[UIImage(named: "1")!,
UIImage(named: "2")!,
UIImage(named: "3")!,
UIImage(named: "3")!,
UIImage(named: "4")!,
UIImage(named: "5")!,
UIImage(named: "6")!,
UIImage(named: "7")!
]
imageView.animationDuration = 1//动画持续的时间
self.view.addSubview(imageView)//把对象添加到view里面
imageView.startAnimating()//开始动画
}
点击空白取消第一响应
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
if admin.isFirstResponder()
{
admin.resignFirstResponder()
}
else if password.isFirstResponder()
{
password.resignFirstResponder()
}
}
指纹解锁解锁代码
{
override func viewDidLoad() {
super.viewDidLoad()
let errPointer = NSErrorPointer()
let ctx = LAContext()//上下文类
//判断设备是否支持指纹识别
if ctx.canEvaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics, error: errPointer){
//Swift中允许将一个函数作为另一个函数的参数
//evaluattePolicy方法的第三个参数是一个函数
//该函数传参数时可以在花括号中写一个匿名函数传进去
//该匿名函数通常也被称为“闭包”
ctx.evaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics, localizedReason: "请输入指纹进行支付", reply: { (isOK, err) -> Void in
if isOK {
print("支付成功")
}
else{
print("支付失败")
}
})
}
else{
print("你的设备不支持指纹识别")
}
}
}