Проблемы с использованием контроллеров разделенного представления в iOS

Я новичок в программировании на Objective-C, и мне нужна помощь в прояснении некоторых сомнений относительно контроллеров разделенного представления. Я понимаю, что если вы используете контроллер разделенного представления в своем приложении, то это обязательно должно быть ваше корневое представление, и мне было интересно, есть ли способ обойти это.

Я имею в виду, что мне нужно использовать контроллеры разделенного представления в моем приложении, но только в паре представлений, а для остальных просто используйте простые представления. Если у кого-то есть идеи или предложения о том, как это сделать, я был бы очень признателен.


person user2578250    schedule 13.07.2013    source источник


Ответы (2)


Есть несколько вещей, которые вы можете сделать. Вы можете представить свои простые представления модально, что закроет контроллер разделенного представления, или вы можете отключить корневой контроллер представления окна, когда закончите с разделенным представлением. Что делать, зависит от того, как и где в вашем приложении вы используете разделенное представление. Если вы идете туда-сюда к нему, то я бы использовал первый способ, если вы используете его один раз, то переходя к простым представлениям, я бы использовал второй способ.

person rdelmar    schedule 13.07.2013

Вы можете добавить контроллеры разделенного представления в качестве дочерних элементов tabbarviewcontrollers. Кроме того, вы можете добавить контроллеры разделенного представления в контейнерные контроллеры представления, которые вы создаете. .

person Sunny    schedule 13.07.2013
comment
Это возможно, но, согласно документам Apple, контроллер разделенного представления всегда должен быть корнем любого создаваемого вами интерфейса. - person rdelmar; 13.07.2013
comment
Есть ли в ваших приложениях контроллеры с разделенным представлением, которые не являются корневым представлением (я хотел бы знать, разрешает ли это Apple)? Я создал приложения, похожие на то, что указано в вашей ссылке, с помощью пользовательского контроллера, который выглядит как контроллер разделенного представления, поэтому вы не можете сказать, глядя на приложение, имеет ли оно некорневой контроллер разделенного представления. Я предполагаю, что у Apple есть причина заявить, что контроллер разделенного представления должен быть корневым контроллером представления, поэтому, даже если сейчас он работает, чтобы это было не так, могут быть непредвиденные последствия, если они что-то изменят. - person rdelmar; 13.07.2013
comment
Для наших приложений tabbarviewcontroller устанавливается непосредственно как корневой контроллер представления окна. Тогда каждая вкладка может быть контроллером разделения представления или каким-либо другим контроллером представления. Мы создали контроллеры для tabbarviewcontroller программно. - person Sunny; 13.07.2013
comment
Спасибо, приятно знать. Да, я заметил, что Xcode не позволяет встраивать UISplitViewController в контроллер панели вкладок (в раскадровке с помощью команды меню), но, как вы говорите, это можно сделать в коде. - person rdelmar; 13.07.2013