0

私は UIWebView を持っており、タッチ座標を取得するために UILongPressGesture を使用しています。これらの座標を保存しNSUserDefaultsて、後で取得しました。タッチ座標位置にボタンを表示する必要があります。出来ますか?

長押し:

UILongPressGestureRecognizer *tap = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(tapTest:)];
    [tap setDelegate:self];
    [wbCont addGestureRecognizer:tap];

座標の保存:

- (void)tapTest:(UILongPressGestureRecognizer *)sender {
    NSLog(@"coordinate is %f %f", [sender locationInView:wbCont].x, [sender locationInView:wbCont].y);

    float xcor = [sender locationInView:wbCont].x;
    float ycor = [sender locationInView:wbCont].y;

    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

    [userDefaults setFloat:xcor forKey:@"xpoint"];
    [userDefaults setFloat:ycor forKey:@"ypoint"];

     [userDefaults synchronize];

}

NSUserDefaults から取得します。

NSUserDefaults *data = [NSUserDefaults standardUserDefaults];
    float xValue = [data floatForKey:@"xpoint"];
    float yValue = [data floatForKey:@"ypoint"];

x & y 位置の場合にボタンを表示する必要があります。

if(xValue && yValue){

        NSLog(@"xvalue is %f",xValue);
         NSLog(@"yval is %f",yValue);

        button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        [button1 addTarget:self
                    action:@selector(click1:)
          forControlEvents:UIControlEventTouchDown];
        [button1 setTitle:@"click" forState:UIControlStateNormal];
        // button1.frame = CGRectMake(240.0, 20.0, 60.0, 40.0);

   [wbcont addSubview:button1];

    }

ここに画像の説明を入力

4

1 に答える 1

1

取得した値に従って、ボタンの X と Y の位置を 更新するだけですxValueyValue

ボタンの枠を設定

button1.frame = CGRectMake(xValue, yValue, 60.0, 40.0);
于 2013-10-25T06:03:06.300 に答える