直播当中的装饰品

来源:互联网 发布:网络教育的英文 编辑:程序博客网 时间:2024/04/29 04:52

神灯产品用户体验群: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];
这样效果能显示出来

0 0