Tag: 手势

ios在对象处理的同时识别手势

与UIKit对象进行交互时是否可以同时识别手势和触摸? 例如,当用户滚动滑块或选取器视图时,我是否也可以处理滑动手势?

获取手势以使用Subclassed UIButton

我有一个子类的UIButton(DragButton),我希望能够执行平移/捏或旋转。 DragButton的实例是以编程方式创build的。 可能有1个,可能有20个。全部取决于用户。 我正在遇到问题,让这些子类button正确地使用手势。 主要的问题是没有一个手势触发! 在DragButton类中,在awakeFromNib实例方法中,手势完全不起作用。 在layoutsubviews中,平移正常工作的第一个拖动,但每一个后续的持有和拖动增加运动的速度相当数量。 (尽pipe在layoutSubviews中捏合和旋转工作正常)。这几乎就像layoutSubviews是在每次交互中“加倍”手势一样。 但是awakeFromNib根本不起作用。 我的猜测是新的button还没有被取消存档。 这里是DragButton中的代码 class DragButton: UIButton, UIGestureRecognizerDelegate { override func awakeFromNib() { let panRecognizer = UIPanGestureRecognizer(target: self, action: #selector(self.draggedView(_:))) let pinchRecognizer = UIPinchGestureRecognizer(target: self, action: #selector(self.pinchedView(_:))) let rotateRecognizer = UIRotationGestureRecognizer(target: self, action: #selector(self.rotatedView(_:))) panRecognizer.delegate = self pinchRecognizer.delegate = self rotateRecognizer.delegate = self self.isUserInteractionEnabled = true self.isMultipleTouchEnabled = […]

操作手势后从UIImageView保存图像

我试图通过移动,捏和旋转手势操作后保存图像。 无论我尝试什么,我所得到的都是真实的图像, 我试图与UIViewBeginImageContextWithOptions在UIView容器和UIIMageView没有成功。 希望有人能帮助这个。 谢谢, 伊泰

如何在多个UIViews中滑动手指时检测特定UIView中的触摸

我试图解决的情况是我有几个UIViews作为主UIView的子视图。 我想要做的是突出显示矩形,让我们说改变它的边界为一个手指滑过视图..类似于当你移动/拖动鼠标光标超过一个超文本链接时发生的事情。

在iOS中的UIView上滑动手势不工作

UISwipeGestureRecognizer *rightRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightSwipeHandle:)]; rightRecognizer.direction = UISwipeGestureRecognizerDirectionRight; [rightRecognizer setNumberOfTouchesRequired:1]; [self.view addGestureRecognizer:rightRecognizer]; UISwipeGestureRecognizer *leftRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(leftSwipeHandle:)]; leftRecognizer.direction = UISwipeGestureRecognizerDirectionLeft; [leftRecognizer setNumberOfTouchesRequired:1]; [self.view addGestureRecognizer:leftRecognizer]; 我已经在viewDidLoad方法上添加了滑动手势,我有多个视图左右滑动,在视图中包含表格,当表格有数据时,左右手势正常工作,但是在空表格手势的情况下不工作。 任何build议..? 注意:它在模拟器中工作,但不在设备上。

UIScrollView里面的UICollectionView不滚动

我有一个垂直滚动滚动视图,有一个子视图。 这个子视图有几个集合视图。 我希望他们水平滚动。 它不工作,因为它们在滚动视图内。 问题在于平移/滚动手势仅适用于滚动视图,并且不会传播到集合视图。 我只看到滚动视图滚动。 在收集单元上点击也是一样的问题。 这个事件不会发生。 我已经尝试手动添加手势,但我无法滚动收集视图。 我怎样传播所有的手势? 谢谢 ! ] 1

如何返回导航堆栈?

我的应用程序有7个后续视图控制器:VC1 – VC7 在我的导航栏中,我有一个后退button,可以执行操作:tapped和longPressed。 当在任何VC中按下backButton时,应用程序应该转到VC2并将其显示为如同用户从VC1到VC2一样,具体来说就是:用右后退button轻击操作。 这是我的代码UILongPressGestureRecognizer: func longPressAction(gestureRecognizer: UIGestureRecognizer) { if (gestureRecognizer.state == UIGestureRecognizerState.Ended) { println("Long press ended") } else if (gestureRecognizer.state == UIGestureRecognizerState.Began) { println("Long press detected") let mainStoryboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle()) let vc: ViewController2 = mainStoryboard.instantiateViewControllerWithIdentifier("vc2") as! ViewController2 navigationController?.pushViewController(vc, animated: true) } } 我怎样才能回到导航堆栈的正确位置?

触动延迟

我有一个UIView的子类,并添加了touchesBegan和touchesEnd方法… 在touchesBegan ,我使用self.backgroundColor = [UIColor greenColor] …在touchesEnd中将backgroundColor从白色设置为绿色。将颜色重置为白色。 它的工作,但非常缓慢。 通过点击视图,需要0.5 – 1.0秒,直到看到绿色。 在UITableViewselect一个单元格要快得多。

iOS:对象重叠时禁用平移手势

我使用Pan Gesture移动了一些对象。 现在我想让对象在下列情况下永久停止移动 : 它重叠了一个特定的(静止的,不能被移动的)对象,或者 它进入一定范围的地点。 当两个对象重叠使用removeGestureRecogniser时,我试图阻止它,但它没有工作。 – (IBAction)cowimagemove:(UIPanGestureRecognizer *)recognizer { if (cowimage.center.x==stayimage.center.x) { [self removeGestureRecogniser]; } else { CGPoint translation = [recognizer translationInView:self.view]; recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x, recognizer.view.center.y + translation.y); [recognizer setTranslation:CGPointMake(0, 0) inView:self.view]; } }

UITapGestureRecognizer不起作用时,我UIImageViewanimation

当我想animation的UIImageView , UITapGestureRecognizer添加到它不能工作。 为什么??? -(void) testTap:(id)sender { NSLog(@"Test tap…"); } -(void) testSlide { UITapGestureRecognizer* testTap = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(testTap:)] autorelease]; testTap.numberOfTapsRequired = 2; UIImageView* imageView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tip_slide"]] autorelease]; [imageView setFrame:CGRectMake(40, 40, 200, 200)]; imageView.userInteractionEnabled = YES; imageView.multipleTouchEnabled = YES; [imageView addGestureRecognizer:testTap]; [self.view addSubview:imageView]; // When I add the following code, the […]