第一个 ios 程序 swift

import UIKit

import CoreMotion

class ViewController: UIViewController,UIAccelerometerDelegate  {

    

    var ball:UIImageView

    

    //var ball:UIButton!

    var speedX:UIAccelerationValue = 0

    var speedY:UIAccelerationValue = 0

    var motionManager = CMMotionManager()

    

    @IBOutlet weak var labtest: UILabel!

    

    override func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.

        //jsdtest()

        

        //创建文本标签

        //let label = UILabel(frame:CGRect(x:20, y:40, width:300, height:100))

        //label.text="123"

        //self.view.addSubview(label)

        

        let btn1 = UIButton(frame:CGRect(x:20, y:140, width:100, height:30))

        btn1.setTitle("jsd", for: .normal)

        //btn1.setValue(1, forUndefinedKey: "1")

        btn1.backgroundColor=UIColor.black

        btn1.addTarget(self, action: #selector(btnTouched), for:.touchUpInside)

        

        self.view.addSubview(btn1)

        let btn2 = UIButton(frame:CGRect(x:20, y:180, width:100, height:30))

        btn2.setTitle("cam", for: .normal)

        //btn1.setValue(1, forUndefinedKey: "1")

        btn2.backgroundColor=UIColor.black

        btn2.addTarget(self, action: #selector(btnTouched), for:.touchUpInside)

        self.view.addSubview(btn2)

    }

    @objc func btnTouchedT()

    {

        //print("btnTouchedT")

        jsdtest()

    }

    @objc func btnTouched(_ button:UIButton)

    {

        //print(button.currentTitle ?? <#default value#>)

        if button.currentTitle == "jsd"

        {

          jsdtest()

        }

        else if button.currentTitle == "cam"

        {

          print("jsd22222")

        }

        

    }

    

    func jsdtest()

    {

        //放一个小球在中央

        

        ball=UIImageView(image:UIImage(named: "ball"))

        ball.backgroundColor=UIColor.blue

        ball.frame = CGRect(x:0, y:0, width:50, height:50)

        ball.center = self.view.center

        self.view.addSubview(ball)

        

        motionManager.accelerometerUpdateInterval = 1/60 //通知时间间隔

        

        if motionManager.isAccelerometerAvailable {

            let queue = OperationQueue.current

            motionManager.startAccelerometerUpdates(to: queue!, withHandler: {

                (accelerometerData, error) in

                //动态设置小球位置

                self.speedX += accelerometerData!.acceleration.x

                self.speedY +=  accelerometerData!.acceleration.y

                var posX=self.ball.center.x + CGFloat(self.speedX)

                var posY=self.ball.center.y - CGFloat(self.speedY)

                

                //碰到边框后的反弹处理

                if posX<0 {

                    posX=0;

                    //碰到左边的边框后以0.4倍的速度反弹

                    self.speedX *= -0.4

                    

                }else if posX > self.view.bounds.size.width {

                    posX=self.view.bounds.size.width

                    //碰到右边的边框后以0.4倍的速度反弹

                    self.speedX *= -0.4

                }

                if posY<0 {

                    posY=0

                    //碰到上面的边框不反弹

                    self.speedY=0

                } else if posY>self.view.bounds.size.height{

                    posY=self.view.bounds.size.height

                    //碰到下面的边框以1.5倍的速度反弹

                    self.speedY *= -1.5

                }

                self.ball.center = CGPoint(x:posX, y:posY)

            })

        }

    }

    

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }

    

    @IBAction func alerttest(_ sender: Any) {

        

        //self.labtest.text = self.speedX

        print(self.speedX)

        print(self.speedY)

    }

}






/*import UIKit

import CoreMotion


class ViewController: UIViewController,UIAccelerometerDelegate  {


    var ball:UIImageView!

    var speedX:UIAccelerationValue = 0

    var speedY:UIAccelerationValue = 0

    var motionManager = CMMotionManager()

    

    @IBOutlet weak var labtest: UILabel!

    

    override func viewDidLoad() {

        super.viewDidLoad()

        // 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 alerttest(_ sender: Any) {

        //super.viewDidAppear(animated)

        

        /*

        let alertController = UIAlertController(title: "系统提示",

                                                message: "田田是小狗吗?", preferredStyle: .alert)

        let cancelAction = UIAlertAction(title: "不是", style: .cancel, handler: nil)

        let okAction = UIAlertAction(title: "是的!", style: .default, handler: {

            action in

            print("确实是条狗")

            self.labtest.text = "确实是条狗"

         alertController.addAction(cancelAction)

         alertController.addAction(okAction)

         self.present(alertController, animated: true, completion: nil)

         

 */

            

 

        

    }

    

}

*/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值