OStack程序员社区-中国程序员成长平台

标题: ios - 如何根据uitextfield的tag id获取uitextfield中的值。? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 19:37
标题: ios - 如何根据uitextfield的tag id获取uitextfield中的值。?

我正在使用 GMSAutocompleteViewController,其中我的 uiviewcontroller 中有三个 UITextfield。当第一个 UItextfield 单击时,我将移动到带有标签号的 GMSAutocompleteViewController,但现在我想在 gmsautocompleteviewcontroller 中由用户单击的文本字段中显示地名> 方法。请看我的代码。

    - (void)textFieldDidBeginEditingUITextField *)textField
{


 NSLog(@"start editing");

    if (textField.tag ==1) {
        NSLog(@"first");
        GMSAutocompleteViewController *acController = [[GMSAutocompleteViewController alloc] init];
        acController.delegate = self;
        [self presentViewController:acController animated:YES completion:nil];


       }
    else if (textField.tag ==2)
    {
        NSLog(@"second");
        GMSAutocompleteViewController *acController = [[GMSAutocompleteViewController alloc] init];
        acController.delegate = self;
        [self presentViewController:acController animated:YES completion:nil];
    }
    else if (textField.tag ==3)
    {
        NSLog(@"third");
        GMSAutocompleteViewController *acController = [[GMSAutocompleteViewController alloc] init];
        acController.delegate = self;
        [self presentViewController:acController animated:YES completion:nil];
       }




      }


    - (void)viewControllerGMSAutocompleteViewController *)viewController
      didAutocompleteWithPlaceGMSPlace *)place {
    // Do something with the selected place.
    NSLog(@"lace name %@", place.name);
    NSLog(@"lace address %@", place.formattedAddress);
    NSLog(@"lace attributions %@", place.attributions.string);
    NSLog(@"lat and log%f", place.coordinate.latitude);
    NSLog(@"lang %f", place.coordinate.longitude);



    value = place.name;


    [self dismissViewControllerAnimated:YES completion:nil];
       }

    - (void)viewControllerGMSAutocompleteViewController *)viewController
    didFailAutocompleteWithErrorNSError *)error {
    // TODO: handle the error.
    NSLog(@"error: %ld", (long)[error code]);
    [self dismissViewControllerAnimated:YES completion:nil];
        }

     // User canceled the operation.
     - (void)wasCancelledGMSAutocompleteViewController *)viewController {
    NSLog(@"Autocomplete was cancelled.");
    [self dismissViewControllerAnimated:YES completion:nil];
      }



Best Answer-推荐答案


全局声明一个文本字段

 UITextField *tappedTextField;

检查下面的代码

- (void)textFieldDidBeginEditingUITextField *)textField{
tappedTextField = textField;
}
 //gmsautocomplete delegate
 - (void)viewControllerGMSAutocompleteViewController *)viewController
didAutocompleteWithPlaceGMSPlace *)place {
// Do something with the selected place.
NSLog(@"lace name %@", place.name);
NSLog(@"lace address %@", place.formattedAddress);
NSLog(@"lace attributions %@", place.attributions.string);
NSLog(@"lat and log%f", place.coordinate.latitude);
NSLog(@"lang %f", place.coordinate.longitude);



tappedTextField.text = place.name;


[self dismissViewControllerAnimated:YES completion:nil];
}

关于ios - 如何根据uitextfield的tag id获取uitextfield中的值。?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36996928/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4