我正在使用 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-推荐答案 strong>
全局声明一个文本字段
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/
|