이 게시물을 게시 한 후 총 3 개의 추가보기를 구현 했으므로 초기 질문이 다릅니다. 지금부터 내 초기보기에는 Arts라는 카테고리가 있습니다. 다음과 같이 예술보기에 도달했습니다.
예를 들어 나의 첫 번째보기는 아래에서 "예술"보기를 여는 데 사용됩니다. 위의 코드가에서 어떤 일이 일어나고 무엇
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
FlipsideViewController *viewController = segue.destinationViewController;
viewController.delegate = self;
NSString *str;
if ([[segue identifier] isEqualToString:@"showAlternate"])
{
[[segue destinationViewController] setDelegate:self];
}
if ([mlabel.text isEqualToString: @" Burlington City Arts "])
{
CLLocationCoordinate2D location;
location.latitude = (double) 44.476625;
location.longitude = (double) -73.212827;
str = [NSString stringWithFormat:@"%.2f, %.2f", location.latitude, location.longitude];
viewController.stringToDisplay = str;
}
}
: 내 예술보기에서 한 번
-(void)mainButton
{
if ([mlabel.text isEqualToString: @" Arts " ])
{
[self performSegueWithIdentifier:@"Arts" sender:self];
}
}
, I는 다음과 같이 세 번째보기 (지도)에 드롭 내 예술 장소 내 좌표를 stringToDisplay를 선언하여 좌표를 저장하고 세 번째보기로 보냅니다. 나는 레이블을 사용하고 pickerview의 레이블이 "Burlington City Arts"와 같은 경우 해당 특정 위치의 좌표를 내 "str"NSString을 통해 세 번째 뷰로 보냅니다.
이
if ([self.stringToDisplay isEqualToString: @"44.48, -73.21"])
{
location.latitude = (double) 44.476625;
location.longitude = (double) -73.212827;
MapViewAnnotation *newAnnotation = [[MapViewAnnotation alloc] initWithTitle:@"newAnnotation" andCoordinate:location];
[self.mapView addAnnotation:newAnnotation];
[mapView setCenterCoordinate:location animated:YES];
}
내 stringToDisplay 위의지도보기에 좌표 (세 번째보기)와 STR에있는 NSString를 전송 :
마지막으로, 그 장소에 대한 세 번째 뷰의 코드가 난에 핀을 드롭 할 코드에서 값은 반올림되었으므로 내가 한 것은 둥근 숫자를 가져 와서 내 IF 문에 넣었습니다. 그 후, 핀을 놓을 정확한 좌표를 다시 지정했습니다. 따 - 다!
*****UPDATE*****
오히려보기 2 및도 3에 좌표를 되풀이보다는 I 최선 단지 각 장소의 레이블을 다시 선언하고 더 counfusion가 없기 때문에 제 뷰 라벨 명을 전달하는 것으로 지금 실현 좌표와 함께. 이러한 좌표는 세 번째 맵보기에서 한 번만 지정됩니다. 내 stringToDisplay 문자열에 다음과 같이 레이블 이름을 전달합니다.
if ([mlabel.text isEqualToString: @" The S.P.A.C.E. Gallery "])
{
viewController.stringToDisplay = @" The S.P.A.C.E. Gallery ";
}
좌표 만 전달하면 어떨까요? – jrturton