uisplitviewcontroller ios xcode

Split View контроллеры

Класс UISplitViewController является контейнером контроллеров видов, который управляет двумя областями информации. Первая панель имеет фиксированную ширину 320 точек и высоту, соответствующую видимой высоте окна. Вторая панель заполняет оставшееся пространство. Рисунок ниже показывает интерфейс контроллера с разделением.

uisplitviewcontroller xcode ipad

Панели Split View интерфейса содержат контент который управляется предоставленными вами контроллерами видов. Поскольку панели содержат специфичный контент для конкретного приложения, то ответственность за управление взаимодействием между ними лежит на вас.

Split View контроллер всегда должен быть корневым в любом интерфейсе, котрорый вы создаете. Другими словами, вы всегда должны установить вид объекта UISplitViewController в качестве корневого вида окна приложения. Панели Split View интерфейса могут содержать навигационные контроллеры, контроллеры панели вкладок, или любой другой тип контроллера вида, который вам необходим, чтобы реализовать интерфейс. Split View контроллеры не могут быть представлены модально.

Создание Split View контроллера в storyboard

Если вы создаете новый проект Xcode, используя шаблон Master-Detail Application предоставляет вам Split View контроллер в storyboard, установленный в качестве первой сцены.

Чтобы добавить Split View контроллер в существующее приложение:

  1. Откройте главный (main) storyboard вашего приложения.
  2. Перетащите Split View контроллер из библиотеки.

    Interface Builder Split View контроллер, контроллер навигации и контроллер вида, а также создает отношения между ними. Эти отношения определяют вновь созданные контроллеры видов как левой, так и правой панели Split View контроллера.

  3. Определите его как первый контроллер вида установкой опции Is Initial View Controller в панели Атрибутов.

Создание Split View контроллера программно

Чтобы создать Split View контроллер программно, создайте новый экземпляр класса UISplitViewController и назначьте контроллеры видов для его двух свойств. Поскольку его контент строится на лету из контроллеров видов, которые вы предоставляете, вы не должны указывать nib файл при создании Split View контроллера. Таким образом, вы можете просто использовать метод init для его инициализации. Следующий листинг показывает пример того, как создавать и настраивать интерфейс Split View контроллера во время запуска. Предполагается, что переменная window, указывает на окно, загруженное из основного nib файла приложения.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
   MyFirstViewController* firstVC = [[MyFirstViewController alloc] init];
   MySecondViewController* secondVC = [[MySecondViewController alloc] init];
 
   UISplitViewController* splitVC = [[UISplitViewController alloc] init];
   splitVC.viewControllers = [NSArray arrayWithObjects:firstVC, secondVC, nil];
 
    window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    window.rootViewController = splitVC;
   [window makeKeyAndVisible];
 
   return YES;
}

Поддержка смены ориентации в Split View

Split View контроллер зависит от его обоих контроллеров видов при определении, какие ориентации поддерживаются. Он поддерживает ориентацию только, если оба контроллера вид ее поддерживают. Даже если в данный момент не отображается один из контроллеров, содержащий вид, он все равно должен поддерживать ориентацию. При изменении ориентации, Split View контроллер автоматически обрабатывает операцию вращения.

В альбомной ориентации, Split View контроллер представляет обе панели бок о бок с небольшим разделителем. В портретной ориентации, Split View контроллер либо показывает обе панели или содержит только вторую, большую панель и обеспечивает кнопку на панели инструментов для отображения первой панели, используя Popover, в зависимости от значения, возвращаемого методом делегата splitViewController:shouldHideViewController:inOrientation:.

 
 
homeЗаметили ошибкукарта сайта 
   Made on a Mac