利用center(中点)来移动按钮

之前提过到一种方法是利用frame属性来移动按钮位置的上下左右,也可以用center(中点)来移动按钮的位置

 [self btnClickWithBlock :^{


        // 获取frame的值

        //利用frame移动按钮

        //CGRect frame = _button.frame;


        //利用center移动按钮

        //方法和frame差不多

        CGPoint center =_button.center;



        // 控制上下左右(xy)的值,可以用if else语句,也可以用switch语句


        // if else 语句的用法


        //获得参数的值,不能用点语法sender.tag,要用get语法

        /*

         if([sender tag] == 1){

         frame.origin.y -= 20;

         }else if([sender tag] == 2){

         frame.origin.x += 20;

         }else if([sender tag] == 3){

         frame.origin.y += 20;

         }else if([sender tag] == 4){

         frame.origin.y -= 20;

         }



         // 这个20也可以拿出来,两种方式,宏定义和定义变量,这样做得目的是,如果要修改这个值,可以一步就修改了,不用在一个一个修改。宏定义要卸载引用文件的位置,可以控制整个文件,一般都写宏定义,

         //CGFloat delta = 20;


         //可以把[sender tag]提前出来,设置为变量

         NSInteger tag = [sender tag];


         if(tag == 1){

         frame.origin.y -= kdelta;

         }else if(tag == 2){

         frame.origin.x += kdelta;

         }else if(tag == 3){

         frame.origin.y += kdelta;

         }else if(tag == 4){

         frame.origin.y -= kdelta;

         }

         */



        //switch语法

         //center,就是利用中点的移动来移动按钮

        switch([sender tag]){

            case 1:

                // 这里不要origin,因为centerCGPoin属性,直接就是x y

                center.y -= kdelta;

                //frame.origin.y -= kdelta;

                break;

            case 2:

                // 这里不要origin,因为centerCGPoin属性,直接就是x y

                center.x += kdelta;

                //frame.origin.y += kdelta;

                break;

            case 3:

                // 这里不要origin,因为centerCGPoin属性,直接就是x y

                center.y += kdelta;

                //frame.origin.y += kdelta;

                break;

            case 4:

                // 这里不要origin,因为centerCGPoin属性,直接就是x y

                center.x -= kdelta;

                //frame.origin.y -= kdelta;

                break;

                

            default:

                break;

                

        }

        

        

        

        // frame在赋值给 _button.frame

        _button.center = center;



    }];


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值