1

画面の特定の領域でのみスワイプを許可することはできますか? たとえば、カウント ダウン タイマーがあり、それを増減するには、左または右にスワイプして値を増減したいと考えています。これは可能ですか?それとも UISwipGestureRecogniser の唯一の画面固有ですか?

再度、感謝します!

-ポールS.

4

2 に答える 2

0

これは、事前定義されたUIViewでスワイプを機能させるためのコードです。ビューとスワイプジェスチャ用に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");
}

これを思い付くのを助けてくれた人々に感謝します。完璧に動作します。

-ポール。

于 2012-03-07T10:20:03.283 に答える
0

UISwipeGestureRecognizer を使用して特定のビューにバインドされたジェスチャを検出し、結果のロジックをそれにアタッチすることができます。

 CGPoint point = [recognizer locationOfTouch:0 inView:MyView];
于 2012-03-06T18:38:03.110 に答える