2017-02-22 21 views
0

У меня есть раскадровка вроде этого:IOS/Objective-C: Доступ к ViewController с кнопкой, «против» структуры раскадровки

enter image description here

Желтого ВК, где я могу добавить пятна на MapKit (приложение начинается с него). Единственный способ получить доступ к желтому VC - через вид таблицы, ведьк имеет кнопку. И когда место создается, снова отображается табличное представление (инструкция находится на кнопке сохранения желтого VC) с новыми данными. Мой вопрос: могу ли я показать mapKit вместо tableView без изменения этой структуры? Я попробовал что-то вроде

MapViewController *map = [[MapViewController alloc] init]; 
     [self.navigationController pushViewController:map animated:YES]; 

на кнопку сохранения нового пятна, но ничего не произошло ... Есть ли решение?

ответ

1

Вы должны поместить идентификатор вашего ViewController, а затем следующий код:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"nameOfStoryBoard" bundle:nil]; 
MapViewController *mapController = [storyboard instantiateViewControllerWithIdentifier:@"yourViewControllerIdentifier"]; 
[self.navigationController pushViewController:mapController animated:YES]; 

StoryboardID является идентификатором для ViewController в правой панели

StoryboardID is the identifier for your viewcontroller in the right panel

+0

я что-то не хватает , Прости. Я столкнулся с журналом, говоря, что он не знает раскадровку. Где я могу его идентифицировать. Разве это не имя файла? Main.storyboard – FuManchu

+0

Имя раскадровки - это имя вашего файла, вероятно, «Главное» – Calc91

+0

теперь оно не сбой, но ничего не происходит ... Мне это нравится: UIStoryboard * storyboard = [UIStoryboard storyboardWithName: @ "Main" bundle : ноль]; MapViewController * mapController = [storyboard instantiateViewControllerWithIdentifier: @ "map"]; [self.navigationController pushViewController: mapController animated: YES]; – FuManchu