是否可以仅允许在屏幕的某个区域滑动?例如,我有一个倒计时器,为了增加或减少它,我想在时间上向左或向右滑动以增加或减少该值。这可能吗?或者是UISwipGestureRecogniser唯一的屏幕特定?
再次感谢!
-PaulS。
答案 0 :(得分:0)
您可以尝试使用UISwipeGestureRecognizer检测绑定到特定视图的手势,然后将相应的逻辑附加到其中,例如
CGPoint point = [recognizer locationOfTouch:0 inView:MyView];
答案 1 :(得分:0)
以下是在预定义的UIView中进行滑动工作的代码。确保为视图和Swip Gestures制作一个IBOutlet:
.h文件
#import <UIKit/UIKit.h>
@interface home_1_ViewController : UIViewController <UIGestureRecognizerDelegate>
//UISwipeGestureRecognizer properties
@property (strong, nonatomic) IBOutlet UISwipeGestureRecognizer *swipeGestureRecognizerRight;
@property (strong, nonatomic) IBOutlet UISwipeGestureRecognizer *swipeGestureRecognizerLeft;
@property (strong, nonatomic) IBOutlet UIView *viewGestureCountDown;
@end
.m文件
- (void)viewDidLoad
{
[super viewDidLoad];
UISwipeGestureRecognizer *left = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(oneFingerSwipeleft:)];
[left setDirection:UISwipeGestureRecognizerDirectionLeft];
[viewGestureCountDown addGestureRecognizer:left];
UISwipeGestureRecognizer *right = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(oneFingerSwiperight:)];
[right setDirection:UISwipeGestureRecognizerDirectionRight];
[viewGestureCountDown addGestureRecognizer:right];
}
- (void)oneFingerSwipeleft:(UISwipeGestureRecognizer *)recognizer
{
NSLog(@"You swiped Left");
}
- (void)oneFingerSwiperight:(UISwipeGestureRecognizer *)recognizer
{
NSLog(@"You swiped Right");
}
感谢那些帮助提出这个问题的人。效果很好。
-PaulS。