のスイッチに基づいてannotations
を追加して削除するマップビューがあります。 popover
の外側に触れると正しく閉じられ、メソッドが呼び出されますpopoverControllerDidDismissPopover:
私は、をマップから削除している場合に、popover
のスイッチを切り替えると(ポップオーバービュー内でタッチする)正しく動作し、ポップオーバーは表示されたままになりますが、annotations
をマップビューに追加すると、popover
が表示されなくなり、delegate
メソッドが呼び出されません。誰もこの行動を前にして来たのですか?UIPopoverControllerは、代理人の呼び出しなしで閉じる
スイッチのオンとオフコードの唯一の違いは、アレイからannotations
を削除し、もう1つはannotations
を追加することです。これは、annotations
をマップビューに追加する場合にのみ問題になります。助けや助言をいただければ幸いです。これは、ポップオーバービューから呼び出されるメソッドです
-(IBAction)toggleMapFiltersView:(id)sender
{
LayerPopoverViewController *popOverViewController = [[LayerPopoverViewController alloc] init];
[popOverViewController setDelegate:self];
[popOverViewController setBranchesShowing:branchesShowing];
[popOverViewController setSchoolsShowing:schoolsShowing];
[layersButton setSelected:YES];
popoverController = [[UIPopoverController alloc] initWithContentViewController:popOverViewController];
[popoverController setDelegate:self];
[popOverViewController release];
[popoverController presentPopoverFromRect:layersButton.frame
inView:[self view]
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
}
:
これはpopover
が表示されている方法です
-(IBAction)toggleSchools:(id)sender
{
if ([self.delegate respondsToSelector:@selector(didChangeSchoolsDisplaySettingWithVisible:)])
{
if ([schoolsSwitch isOn])
{
[self.delegate didChangeSchoolsDisplaySettingWithVisible:YES];
self.schoolsShowing = YES;
}
else
{
[self.delegate didChangeSchoolsDisplaySettingWithVisible:NO];
self.schoolsShowing = NO;
}
}
}
、これは、それが参照している方法です。
-(void)didChangeSchoolsDisplaySettingWithVisible:(BOOL)visible
{
if (visible == YES)
{
schoolsShowing = YES;
if (self.schoolArray != nil && [self.schoolArray count] > 0)
{
for (MySchool *school in self.schoolArray)
{
[mapView addAnnotation:school];
}
}
}
else
{
schoolsShowing = NO;
for (id<MKAnnotation> annotation in mapView.annotations)
{
if ([annotation isKindOfClass:[MySchool class]])
{
[mapView removeAnnotation:annotation];
}
}
}
}
役立つかもしれない願っていますが、いくつかのコードを投稿できるので、我々は何が起こっているかを見ることができますか? – xCoder
に2つのメソッドが追加されました – user1359733
popoverがどのように設定されて表示されるかを教えてください。 –