//
// ViewController.swift
// 按钮基本使用
//
// Created by admin on 15/12/24.
// Copyright © 2015年 jin. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var imageButton: UIButton!
@IBOutlet var viewparent: UIView!
@IBOutlet weak var lable: UILabel!
@IBOutlet weak var viewA: UIView!
override func viewDidLoad() {
super.viewDidLoad()
//控件在相对于父控件左上角为坐标原点的位置坐标,类似 (32.0, 65.0, 139.0, 162.0),分别对应控件的 (横坐标,纵坐标,宽度,长度)
print(lable.frame)
//控件在相对于自己左上角为坐标原点的位置坐标,因为是相对于自己,所以横纵坐标为0,类似 (0.0, 0.0, 139.0, 162.0),分别对应控件的 (横坐标,纵坐标,宽度,长度)
print(lable.bounds)
//控件中点相对于父控件左上角为坐标原点的位置坐标,类似 (101.5, 146.0),分别对应控件的 (横坐标,纵坐标)
print(lable.center)
//控件的父控件,会是一个控件对象
print(lable.superview)
//控件的子对象,会是一个控件对象数组
print(self.view.subviews)
//控件的tag标示,父控件可以通过tag来找到对应的子控件
print(lable.tag)
//控件的旋转角度,比例缩放,平移等属性,类似 CGAffineTransform(a: 1.0, b: 0.0, c: 0.0, d: 1.0, tx: 0.0, ty: 0.0)
print(lable.transform)
//删除自己
// viewA.removeFromSuperview()
//添加一个控件
viewA.addSubview(lable)
//查找子控件中的tag值为指定值的控件
print(viewparent.viewWithTag(3))
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//向上
@IBAction func imageTop(sender: AnyObject) {
imageButton.center.y -= 1
}
//向下
@IBAction func imageButtom(sender: AnyObject) {
imageButton.center.y += 1
}
//向右
@IBAction func imageRight(sender: AnyObject) {
imageButton.center.x -= 1
}
//向左
@IBAction func imageLeft(sender: AnyObject) {
imageButton.center.x += 1
}
//移动 x轴移动,y轴移动yua
static var moveInt:CGFloat = 20
@IBAction func moveImage(sender: AnyObject) {
//这里如果写一个定值的话只在第一次点击的时候生效,所以需要借助一个变量
// imageButton.transform = CGAffineTransformMakeTranslation(ViewController.moveInt, ViewController.moveInt)
// ViewController.moveInt += 20
//这里的平移是以第一个参数的基准进行偏移,不要额外的变量
imageButton.transform = CGAffineTransformTranslate(imageButton.transform, 20, 20)
}
@IBAction func imageScale(sender: AnyObject) {
//当这个值大于1的时候是方法,小于1的时候是缩小
var scale:CGFloat = 0
if sender.titleLabel!!.text! == "放大"
{
scale = 2
}
else if sender.titleLabel!!.text! == "缩小"
{
scale = 0.5
}
imageButton.transform = CGAffineTransformScale(imageButton.transform, scale, scale)
}
//旋转
@IBAction func imageRotate(sender: AnyObject) {
//animateWithDuration是实现动画效果,第一个参数是动画持续时间,第二个参数是一个闭包函数
UIView.animateWithDuration(2.0, animations: {
//这里的旋转单位是以圆周率为单位,这里是四分之一圆周率(45度)
self.imageButton.transform = CGAffineTransformRotate(self.imageButton.transform, CGFloat(M_PI_4))
})
}
}