STPopUpController将点击数据传递给底部样式iOS

时间:2017-03-16 03:09:09

标签: ios

我在向STPopUp Bottom表传递数据时遇到问题

所以现在我的应用程序中有一个由引脚组成的地图。一旦用户点击了引脚,它就会向STPopupController显示点击引脚的信息。我可以检索点击引脚的数据,但我一直在想办法如何将点击引脚的数据传递到底部工作片很长一段时间。

这是我的第一个控制器中的一些代码

- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {
NSString *outletName = store.displayName;
NSString *address    = [NSString stringWithFormat:@"%@\n%@\n%@\n%@\n%@\n%@\n%@", store.addressLine1, store.addressLine2, store.addressLine3, store.addressLine4, store.postcode, store.city, store.country];
NSString *contactNumber = store.contactNumber;

STPopupController *popupController = [[STPopupController alloc] initWithRootViewController:[[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"OutletInformationViewController"]];
popupController.style = STPopupStyleBottomSheet;
[popupController presentInViewController:self];
}

OutletInformationViewController是另一个视图控制器。

基本上底页已经存在,但我无法显示点击的数据。

请不要介意我如何获取数据。点击引脚的所有数据都已存在。我正在努力的是如何将这些数据传递到底层控制器。

有人可以指导我吗?谢谢:))

1 个答案:

答案 0 :(得分:1)

首先,您需要在当前视图控制器中导入OutletInformationViewController.h

#import "OutletInformationViewController.h"

然后,在OutletInformationViewController.h中创建一个属性,这是您需要传递的数据。 接下来,将此行分开:

STPopupController *popupController = [[STPopupController alloc] initWithRootViewController:[[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"OutletInformationViewController"]];

进入这个:

OutletInformationViewController *controller = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"OutletInformationViewController"];
controller.clickedData = clickedData; // Pass the data here
STPopupController *popupController = [[STPopupController alloc] initWithRootViewController:controller];