您的位置:首页 > 其它

直播当中的装饰品

2016-07-28 14:03 357 查看
神灯产品用户体验群:573431381

在直播界面,需要给主播一些小的装饰品如发卡,面具,帽子等。



通常会有拖拉 、旋转、缩放等,下面简单介绍,这几中手势。

直接看代码

“`

//装饰品

- (void)adornButtonClick

{

UIImageView *panView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 100, 50, 50)];

[self.view addSubview:panView];

panView.userInteractionEnabled = YES;

[panView setMultipleTouchEnabled:YES];

panView.backgroundColor = [UIColor clearColor];

panView.image = [ UIImage imageNamed:@”面具.jpg”];

// 拖动手势

UIPanGestureRecognizer * panGestureRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(doHandlePanAction:)];

[panView addGestureRecognizer:panGestureRecognizer];

// 旋转手势

UIRotationGestureRecognizer *rotationGestureRecognizer = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotateView:)];

[panView addGestureRecognizer:rotationGestureRecognizer];

// 缩放手势
UIPinchGestureRecognizer *pinchGestureRecognizer = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchView:)];
[panView addGestureRecognizer:pinchGestureRecognizer];


}

//拖动手势

- (void) doHandlePanAction:(UIPanGestureRecognizer *)paramSender{

CGPoint point = [paramSender translationInView:self.view];
NSLog(@"X:%f;Y:%f",point.x,point.y);

paramSender.view.center = CGPointMake(paramSender.view.center.x + point.x, paramSender.view.center.y + point.y);
[paramSender setTranslation:CGPointMake(0, 0) inView:self.view];


}

// 处理旋转手势

- (void) rotateView:(UIRotationGestureRecognizer *)rotationGestureRecognizer

{

UIView *view = rotationGestureRecognizer.view;

if (rotationGestureRecognizer.state == UIGestureRecognizerStateBegan || rotationGestureRecognizer.state == UIGestureRecognizerStateChanged) {

view.transform = CGAffineTransformRotate(view.transform, rotationGestureRecognizer.rotation);

[rotationGestureRecognizer setRotation:0];

}

}

// 处理缩放手势

- (void) pinchView:(UIPinchGestureRecognizer *)pinchGestureRecognizer

{

UIView *view = pinchGestureRecognizer.view;

if (pinchGestureRecognizer.state == UIGestureRecognizerStateBegan || pinchGestureRecognizer.state == UIGestureRecognizerStateChanged) {

view.transform = CGAffineTransformScale(view.transform, pinchGestureRecognizer.scale, pinchGestureRecognizer.scale);

pinchGestureRecognizer.scale = 1;

}

}

“`记得要添加

panView.userInteractionEnabled = YES;

[panView setMultipleTouchEnabled:YES];

这样效果能显示出来
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: