我(希望)有一个小问题。 rightCalloutAccessoryView
按钮方法。我尝试将navigationcontroller
推到another viewcontroller
,但不能正常工作。我总是黑屏。 navigationBar
被禁用
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
// ... code ...
pinAnnotationView.canShowCallout = YES;
UIButton *detailButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[detailButton addTarget:self action:@selector(showDetailView:) forControlEvents:UIControlEventTouchUpInside];
pinAnnotationView.rightCalloutAccessoryView=detailButton;
// ... code ...
}
按钮:
-(IBAction)showDetailView:(UIButton *)sender
{
InfoViewController *infoView = [[InfoViewController alloc] init];
[self.navigationController pushViewController:infoView animated:YES];
NSLog(@"pushed Button!!!!!!");
}
我的目标:
ViewController
按下detailButton
并按下InfoViewController
。也许那只是一个小错误,我没有发现。
最佳答案
如果您的InfoViewController位于情节提要中,则需要获取该内容,而不是使用alloc init创建一个新的内容。 InfoViewController在情节提要中需要一个标识符,然后可以实例化它:
InfoViewController *infoView = [self.storyboard instantiateViewControllerWithIdentifier:@"InfoViewController"];
关于ios - Navigationcontroller工作不正常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14872455/