1

このコードは、プロジェクトを ios4 から ios6 (+ARC) に変換し、xib ファイルをストーリーボードに交換するまで機能しました。これで、クリックは長押しとしてカウントされます。

ジェスチャー設定

- (void)viewDidLoad
{

[super viewDidLoad];

for(UIButton *button in buttons)
{
    UILongPressGestureRecognizer *longPressRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressDetected:)];
    longPressRecognizer.minimumPressDuration = 1;
    longPressRecognizer.numberOfTouchesRequired = 1;
    [button addGestureRecognizer:longPressRecognizer];
}

}

ロングプレス法

- (IBAction)longPressDetected:(UIGestureRecognizer *)sender 
{
    if (sender.state != UIGestureRecognizerStateBegan) 
    {
        NSLog(@"duplicate press cancelled");
        return;
    }
    NSLog(@"LongPress Received");
}

絵コンテ ここに画像の説明を入力

4

2 に答える 2

1

追加したスクリーンショットに従って、ボタンをlongPressDetected:ストーリーボードにリンクしました。ストーリーボードでそれを削除する必要があり、正常に動作します。

基本的には、同じメソッドを指しているボタン アクションを実行していました。

于 2013-02-28T19:51:20.393 に答える
1

コードをこれに置き換えてから、次を確認してください。

UILongPressGestureRecognizer *longPressRecognizer = [[UILongPressGestureRecognizer alloc]  initWithTarget:self action:@selector(longPressDetected:)];
longPressRecognizer.minimumPressDuration = 2.0;
longPressRecognizer.delegate = self;
[button addGestureRecognizer:longPressRecognizer];
于 2013-02-28T06:21:41.590 に答える