画面の特定の領域でのみスワイプを許可することはできますか? たとえば、カウント ダウン タイマーがあり、それを増減するには、左または右にスワイプして値を増減したいと考えています。これは可能ですか?それとも UISwipGestureRecogniser の唯一の画面固有ですか?
再度、感謝します!
-ポールS.
画面の特定の領域でのみスワイプを許可することはできますか? たとえば、カウント ダウン タイマーがあり、それを増減するには、左または右にスワイプして値を増減したいと考えています。これは可能ですか?それとも UISwipGestureRecogniser の唯一の画面固有ですか?
再度、感謝します!
-ポールS.
これは、事前定義された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");
}
これを思い付くのを助けてくれた人々に感謝します。完璧に動作します。
-ポール。
UISwipeGestureRecognizer を使用して特定のビューにバインドされたジェスチャを検出し、結果のロジックをそれにアタッチすることができます。
CGPoint point = [recognizer locationOfTouch:0 inView:MyView];