我在检测UIImageView自身内部的滑动时遇到问题.
当我申请UISwipeGestureRecognizer上self.view它工作正常,但是当我尝试在同一应用UIImageview在检测到错误的方向轻扫.
码:
{
//Swipe Up
swipeUpRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeUp:)];
swipeUpRecognizer.delegate = self;
swipeUpRecognizer = (UISwipeGestureRecognizer *)swipeUpRecognizer;
swipeUpRecognizer.numberOfTouchesRequired = 1;
swipeUpRecognizer.direction = UISwipeGestureRecognizerDirectionUp;
[imageView addGestureRecognizer:swipeUpRecognizer];
[swipeUpRecognizer release];
//swipe Down
swipeDownRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeDown:)];
swipeDownRecognizer.delegate = self;
swipeDownRecognizer = (UISwipeGestureRecognizer *)swipeDownRecognizer;
swipeDownRecognizer.numberOfTouchesRequired = 1;
swipeDownRecognizer.direction = UISwipeGestureRecognizerDirectionDown;
[imageView addGestureRecognizer:swipeDownRecognizer];
[swipeDownRecognizer release];
//swipe Left
swipeLeftRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeLeft:)];
swipeLeftRecognizer.delegate = self;
swipeLeftRecognizer = (UISwipeGestureRecognizer *)swipeLeftRecognizer;
swipeLeftRecognizer.numberOfTouchesRequired = 1; …Run Code Online (Sandbox Code Playgroud) 我正在为我的应用程序添加滑动手势识别器
- (void)createGestureRecognizers
{
//adding swipe up gesture
UISwipeGestureRecognizer *swipeUpGesture= [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeUpGesture:)];
[swipeUpGesture setDirection:UISwipeGestureRecognizerDirectionUp];
[self.view addGestureRecognizer:swipeUpGesture];
[swipeUpGesture release];
}
Run Code Online (Sandbox Code Playgroud)
以及处理滑动事件的方法:
-(IBAction)handleSwipeUpGesture:(UISwipeGestureRecognizer *)sender
{
NSLog(@"handleSwipeUpGesture: called");
}
Run Code Online (Sandbox Code Playgroud)
我该如何计算偏移?移动视图?
iphone objective-c uigesturerecognizer ios uiswipegesturerecognizer
这是我的第一个问题,但是我在过去几个月里使用过这个网站(感谢所有人).
我的问题:我有一个i-Pad的拆分视图项目.在DetailViewController中,我使用了一个UIButton.这是DetailViewController.h中的一些代码:
@property (strong, nonatomic) IBOutlet UIButton *button;
- (void)swipeRightDetected:(UISwipeGestureRecognizer *)recognizer;
Run Code Online (Sandbox Code Playgroud)
在DetailViewController.m中我只是这样做:
- (void)viewDidLoad
{
[super viewDidLoad];
[self configureView];
UISwipeGestureRecognizer *swipeRight = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipeRightDetected:)];
swipeRight.direction = UISwipeGestureRecognizerDirectionRight;
[self.button addGestureRecognizer:swipeRight];
}
- (void)swipeRightDetected:(UISwipeGestureRecognizer *)recognizer
{
if (recognizer.view == self.button) {
NSLog(@"YEAH");
}
}
Run Code Online (Sandbox Code Playgroud)
现在问题是:它与iOS 5.0.1和之前的版本完美配合.现在它不再起作用了.它适用于任何其他方向,但不适用于正确的方向,仅适用于DetailViewController !! 只有当你用力量和速度击中iPad时才会起作用(就像一记耳光!),同样适用于模拟器......只有你非常快速地进行滑动才有效!
我认为这是一个错误......我该怎么办?也许在苹果论坛上发布相同的问题?谢谢大家,你们都很棒!! 马尔科
ipad uisplitviewcontroller ios uiswipegesturerecognizer ios5.1
我使用UISwipeGestureRecognizer和我覆盖
-(void)touchesBegan...,-(void)touchesEnded...,-(void)touchesMoved... methods.
Run Code Online (Sandbox Code Playgroud)
似乎touchesBegan和touchesMoved保持跟踪触摸,直到Swipe Gesture识别并且touchesEnded未被调用(与touchesCancelled相同).但我需要轻扫手势识别器和触摸器才能完成这项工作,我该怎么做呢?
我环顾四周,我不能为我的生活找到一种方法来替换backbarbuttonitem滑动手势.我想向左滑动,让应用程序恢复到以前的视图控制器.只是为了澄清我正在使用a UINavigationController管理我的所有View控制器.有任何想法吗?或者这不可能吗?谢谢!
uinavigationcontroller uiswipegesturerecognizer backbarbuttonitem
我想在主视图中创建一个视图,并将滑动和拖动(平移)手势应用于该视图.但是如何知道那是刷卡还是平移手势?
uigesturerecognizer uiswipegesturerecognizer uipangesturerecognizer swift
我正在使用UIGestureRecognizer。我正在尝试从选择器中的不同类调用函数,但是我正在NSInvalidArgumentException执行它。
import Foundation
import UIKit
class helperClass {
var onBoardingImageArray : [UIImage]?
var onBoardingPageControl : UIPageControl?
var onBoardingImageView : UIImageView?
init(imageArray : [UIImage] , pageControl : UIPageControl , yourImageView : UIImageView) {
onBoardingImageArray = imageArray
onBoardingPageControl = pageControl
onBoardingImageView = yourImageView
}
@objc func firstImageSwipeGestureAction(gesture :UIGestureRecognizer){
if let swipeGesture = gesture as? UISwipeGestureRecognizer {
switch swipeGesture.direction {
case UISwipeGestureRecognizerDirection.right:
if (onBoardingPageControl?.currentPage)! > 0{
print("Swiped right")
onBoardingPageControl?.currentPage -= 1
self.onBoardingImageView?.image = onBoardingImageArray?[(onBoardingPageControl?.currentPage)!]
}
case UISwipeGestureRecognizerDirection.left:
if (onBoardingPageControl?.currentPage)! …Run Code Online (Sandbox Code Playgroud) 我在UIViewController的底部有一个UITableView,现在tableview的高度是100点。

tableview有20个单元格,tableview的标题视图为100点。而且我在表视图标题中添加了向上的UISwipeGestureRecognizer和向下的UISwipeGestureRecognizer。
现在,我想在向上手势动作中将tableview高度约束常量更改为400,在向下手势动作中将tableview高度约束常量更改为100。
我想在里面进行swpie手势时隐藏键盘UITextView.像消息应用程序中的东西.但我现在所拥有的只是隐藏键盘时才能完成这项工作.当它出现UISwpieGestureRecognizer失败时......

uitextview uigesturerecognizer ios uiswipegesturerecognizer ios7
我正在尝试添加滑动手势(左/右)以隐藏/显示我的侧边菜单.我在UIView上完美地工作了,但是,我遇到了UITableView的问题.
这是我的滑动手势添加到我的TableView的代码:
// Add right swipe gesture recognizer
let rightSwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: "toggleSideMenu")
rightSwipeGestureRecognizer.direction = UISwipeGestureRecognizerDirection.Right
self.timelineTableView.addGestureRecognizer(rightSwipeGestureRecognizer)
// Add left swipe gesture recognizer
let leftSwipeGestureRecognizer = UISwipeGestureRecognizer(target: self, action: "toggleSideMenu")
leftSwipeGestureRecognizer.direction = UISwipeGestureRecognizerDirection.Left
//sideMenuContainerView.addGestureRecognizer(rightSwipeGestureRecognizer)
self.timelineTableView.addGestureRecognizer(leftSwipeGestureRecognizer)
Run Code Online (Sandbox Code Playgroud)
这是我的选择器方法:
func toggleSideMenu() {
println("ENTER SWIPE")
toggleSideMenuView()
}
Run Code Online (Sandbox Code Playgroud)
我也这样做了:
func tableView(tableView: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle {
return UITableViewCellEditingStyle.None
}
func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
return false
}
Run Code Online (Sandbox Code Playgroud)
但是,当我向左或向右滑动时,我的选择器菜单"toggleSideMenu()"从不被调用.
PS:我也尝试直接在我的UITableViewCell上添加那些滑动手势,但它也不能正常工作.
有人有想法吗?非常感谢你的时间!
uitableview uigesturerecognizer ios uiswipegesturerecognizer swift
ios ×5
swift ×4
objective-c ×2
uitableview ×2
direction ×1
ios5.1 ×1
ios7 ×1
ipad ×1
iphone ×1
swift3 ×1
uiimageview ×1
uitextview ×1
xcode ×1