视图的移动

1.创建根视图控制器

2.创建一个MyView的类继承于UIView

3.在MyView的.m里

//补上延展

@interface MyView()

//用来记录视图开始的坐标

@property(nonatomic,assign)CGPoint startPoint;


@end

4.在实现部分完成视图移动

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

   //集合里元素的个数

    //NSLog(@"%ld",touches.count);

    //获取集合里的对象

    UITouch *touch=[touches anyObject];

    //获取相应视图的当前位置

    self.startPoint=[touch locationInView:self];

    NSLog(@"%g",self.startPoint.x);

    NSLog(@"%g",self.startPoint.y);

}


//通过移动找到变化,然后让MyView也进行相应的调整,从而实现视图随手移动的效果

-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event

{

    //获取触摸的对象

    UITouch *touch=[touches anyObject];

    //获取移动之后的坐标

    CGPoint movePoint=[touch locationInView:self];

    //找坐标的变化

    CGFloat dx=movePoint.x-self.startPoint.x;

    CGFloat dy=movePoint.y-self.startPoint.y;

    //设置视图的移动变化

    self.center=CGPointMake(self.center.x+dx, self.center.y+dy);

    }


5.在根视图控制器里创建一个MyView的对象(注意引头文件)

MyView *myview=[[MyView alloc] initWithFrame:CGRectMake(100, 200, 100, 100)];

    myview.backgroundColor=[UIColor orangeColor];

    [self.view addSubview:myview];

    [myview release];

    myview.layer.cornerRadius=10;

    myview.layer.borderWidth=1;


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值