0

Поэтому я использую этот проект, как мой пример меня вопрос: https://github.com/ioscreator/ioscreator/tree/master/IOS8SwiftAddSearchTableViewTutorialUISearchController внутри UISplitView с UINavigationController

два изменения я делаю являются # 1: сделать это универсальное приложение

# 2 перетащите контроллер UISplitview в Interface Builder и установите его как контроллер корневого представления с существующим UINavigationController, назначенным в виде подробного просмотра.

Загрузите его на iPad в портрете, и все в порядке, потому что он показывает только одну колонку , Если вы перевернете его на пейзаж и повторите попытку, вы увидите, что позиция в поисковой строке теперь неправильная. Я видел несколько других связанных с этим проблем, связанных с настройкой edgeForExtendedLayout = UIRectEdge.None, но это похоже на другую проблему, чем эта. Кто-нибудь еще сталкивается с этим или я делаю что-то неправильно?

+0

Не знаю, используете ли вы раскадровку для установки UISearchBar, если ДА, а затем установите для нее надлежащее ограничение, так что она будет отображаться отлично –

+0

Я добавляю UISearchBar в код. Я пытался возиться с добавлением ограничения, но я боюсь, что я недостаточно знаком с этим. Это то, что я пытался добавить: переопределить func viewDidAppear (анимированный: Bool) { let leadConstraint = NSLayoutConstraint (item: self.tableView.tableHeaderView !, attribute: NSLayoutAttribute.Leading, relatedBy: NSLayoutRelation.Equal, toItem: self.tableView.tableHeaderView ! .superview, attribute: NSLayoutAttribute.Leading, multiplier: 1, constant: 0) resultSearchController.searchBar.addConstraint (leadingConstraint) } –

+0

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

ответ

0

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

Вы пытались создать его в раскадровке, а затем установили скрытое значение true на viewDidAppear(), а затем установили его в false, когда вам это нужно?

Таким образом, вы можете установить правильные ограничения с помощью раскадровки, а затем показать его, когда вам это нужно.

+0

Невозможно добавить UISearchController из раскадровки. –

Смежные вопросы