Tag: uitapgesturerecognizer

UITapGestureRecognizer initWithTarget:动作:方法采取参数?

我正在使用UITapGestureRecognizer因为我使用UIScrollView作为我的UILabel的容器。 基本上我试图用参数使用一个动作方法,所以我可以例如发送myLabel.tag值的行动方法知道要采取什么行动取决于已经触发了一个水龙头UILabel。 其中一种方法是使用与UILabel一样多的操作方法,但这不是代码方式的“漂亮”。 我想实现的只是一个具有switch语句的操作方法。 这是可能的,还是我必须这样做(叹气): UITapGestureRecognizer *myLabel1Tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myLabel1Tap)]; [myLabel1Tap addGestureRecognizer:myLabel1Tap]; UITapGestureRecognizer *myLabel2Tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myLabel2Tap)]; [myLabel1Tap addGestureRecognizer:myLabel2Tap]; UITapGestureRecognizer *myLabelNTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myLabelNTap)]; [myLabel1Tap addGestureRecognizer:myLabelNTap]; – (void)myLabel1Tap { // Perform action } – (void)myLabel2Tap { // Perform action } – (void)myLabelNTap { // Perform action }

iPhone的iOS如何添加一个UILongPressGestureRecognizer和UITapGestureRecognizer到相同的控制和防止冲突?

我正在构build一个iPhone应用程序,让用户重新排列屏幕上的一些UI元素。 如何添加一个轻拍手势识别器和一个长按手势识别器到相同的UIView? 当我从长按抬起手指时,轻拍手势识别器会闪光。 如何暂时禁用水龙头手势识别器,或防止当用户长时间按下时触发手势识别器? 谢谢!

如何检测UICollectionView中单元格的双击

我想要对UICollectionView中的单元格进行双击,并有一个双击动作取消单元格select。 这是我试过的: UITapGestureRecognizer *tapRecogniser = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)]; tapRecogniser.numberOfTapsRequired = 2; for (UITapGestureRecognizer *recogniser in [self.collectionView gestureRecognizers]) { [recogniser requireGestureRecognizerToFail:tapRecogniser]; } [self.collectionView addGestureRecognizer:tapRecogniser]; 也就是说,如果我的双击手势识别器成功,我试图让默认的手势识别器失败。 这似乎不工作,因为我的集合视图委托的collectionView:didSelectItemAtIndexPath:仍然被调用后,双击 请注意Apple的UICollectionViewController文档 苹果公司的文档在这一点上是误导性的,声称默认的手势识别器是UITapGestureRecognizer子类的一个实例,所以它可以很容易地用[recogniser isKindOfClass:[UITapGestureRecognizer class]]来挑选出来。 不幸的是,这是一个错误。

如何从UITableView iphone获取UITableView IndexPath?

在我的iPhone应用程序中,我有一个消息屏幕。 我已经在UIViewController上添加了UITapGestureRecognizer ,并且在屏幕上还有一个UITableview 。 我想selectUITableViewCell但是我不能selectUITableView因为UITapGestureRecognizer 。 当我触摸屏幕,只调用轻拍手势动作,但UITableView委托didSelectRowAtIndexPath:不被调用。 任何人都可以请帮我在点击手势和UITableView:didSelectRowAtIndexPath: 。 提前致谢。

如何在易用性中使用轻拍手势?

我正在为盲人的应用程序,首先我需要使用滑动手势,search后,我可以通过使用它 override func accessibilityScroll( direction: UIAccessibilityScrollDirection)-> Bool { if direction == UIAccessibilityScrollDirection.Left { Do what you want to do } } 现在我需要使用水龙头手势,我找不到任何function使用自定义水龙头无障碍任何人都可以帮助我吧! 谢谢

无法识别的select器发送到实例Swift 3

我想用selector实现TapGestureRecognizer ,下面是我添加tapGestureRecognizer到我的imageView的代码 let tapFirstGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(assignImage(_:))) firstImageView.isUserInteractionEnabled = true firstImageView.tag = 1 firstImageView.addGestureRecognizer(tapFirstGestureRecognizer) 这是行动方法 func assignImage(_ sender: UIImageView){ imagePicker.allowsEditing = false imagePicker.sourceType = .photoLibrary imageViewTag = sender.tag present(imagePicker, animated: true, completion: nil) } 编译器不断的说 [UITapGestureRecognizer标记]:无法识别的select器发送到实例0x6080001a7700'

立即调用UITapGestureRecognizer

我正在试图添加一个UITapGestureRecognizer到一个imageview ,如下所示 let gest=UITapGestureRecognizer(target: self, action: Selector(imgPressed())); gest.delegate=self thalaImg.addGestureRecognizer(gest) 这里是imgPressed函数: func imgPressed() { let alert=UIAlertController(title: "Img", message: "img pressed", preferredStyle: .Alert) let okButton=UIAlertAction(title: "Ok", style: .Default, handler: nil) alert.addAction(okButton) presentViewController(alert, animated: true, completion: nil) } 我在viewdidload添加了3行代码,添加了一个断点并运行了应用程序。我观察到的是,一旦编译器进入第一行,即let gest …,它即使在应用程序启动之前立即调用action方法运行。由于显然window尚未加载,它会抛出下面的警告 警告:尝试呈现其视图不在窗口层次结构中的视图! 我不明白为什么会发生这种情况。有人可以帮我解决这个问题吗? 谢谢

无法识别的UITapGestureRecognizerselect器发送到实例

我已经寻找解决这个问题的方法,但是找不到解决这个问题的东西。 我从UITapGestureRecognizer获取上述exception。 这是简化的代码: import UIKit; class ViewController : UIViewController, UIScrollViewDelegate { @IBOutlet weak var scrollView:UIScrollView!; var imageView:UIImageView!; override func viewDidLoad() { super.viewDidLoad(); … set up imageView/scrollView here … let doubleTapRecognizer = UITapGestureRecognizer(target: self, action: "onScrollViewDoubleTapped"); doubleTapRecognizer.numberOfTapsRequired = 2; doubleTapRecognizer.numberOfTouchesRequired = 1; scrollView.addGestureRecognizer(doubleTapRecognizer); } func onScrollViewDoubleTapped(recognizer:UITapGestureRecognizer) { } } 任何人都可以告诉这个代码有什么问题吗? 这对我来说似乎是正确的。 我怀疑它与分配ViewController作为委托scrollView(或反之亦然)? 然而,ViewController被设置为scrollView的委托。 但是,也许这是导致这个错误的其他东西?

iOS swift UIImageView在tableView单元格中更改图像

我在tableView自定义cell有一个奇怪的问题。 对于像Image操作,我将这些代码写在Custom cell称为FeedViewCell : self.like.isUserInteractionEnabled = true let CommenttapGestureRecognizer = UITapGestureRecognizer(target:self, action:#selector(likehandleTap)) self.like.addGestureRecognizer(CommenttapGestureRecognizer) func likehandleTap(_ sender: UITapGestureRecognizer) { if self.like.image == UIImage(named: "like-btn-inactive") { self.like.image = UIImage(named: "like-btn-active") } else { self.like.image = UIImage(named: "like-btn-inactive") } } 和TableViewController: func tableView(_ tableView: UITableView, cellForRowAtIndexPath indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "FeedCell", for: indexPath) […]

传递参数给UITapGestureRecognizer

我已经创build了dynamic的UIimage视图和UITapGestureRecognizer来查看它的样子 UIImageView *image = [[UIImageView alloc ] initWithFrame:CGRectMake(x, 0, 200, 150)]; NSString *ImageURL = [str objectForKey:@"imageLink"]; NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:ImageURL]]; image.image = [UIImage imageWithData:imageData]; UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapDetected:)]; singleTap.numberOfTapsRequired = 1; image.userInteractionEnabled = YES; [image addGestureRecognizer:singleTap]; [documentory addSubview:image]; 和我这样的行动方法 -(void)tapDetected:(UIGestureRecognizer *)recognizer{ NSLog(@"single Tap on imageview"); } 我想通过一个string参数tapDetected方法任何人都可以告诉我如何做到这一点非常感谢你