按钮的基本使用以及控件的基本属性

//
//  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))
        })


    }
}


标签: swift, swiftios控件

添加新评论