Я знаю, я знаю... Еще один вопрос по iOS7.
У меня есть представление в UINavigationController, которое добавляется в TabBarController. В iOS6 я использовал ограничение по вертикали «нижнее пространство для суперпросмотра, по умолчанию», что дало бы мне 10 пикселей относительно TabBar.
Похоже, это же ограничение не работает в iOS 7. TabBar больше не считается суперпросмотром? ? Есть ли другое ограничение, которое я должен использовать?
Представление iOS7 с автомакетом для выравнивания над TabBar
Ответы (3)
Каждый контроллер представления теперь является полноэкранным, поэтому ваше представление начинается с 0,0 (под строкой состояния) и заканчивается под панелью вкладок.
С автоматической компоновкой вы можете использовать новое свойство в UIViewController, называемое bottomLayoutGuide. Как Руководство по переходу на новый интерфейс iOS 7 гласит:
Свойства topLayoutGuide и bottomLayoutGuide указывают расположение верхних или нижних краев панели в представлении контроллера представления. Если полосы должны перекрывать верх или низ представления, вы можете использовать Interface Builder, чтобы расположить представление относительно полосы, создав ограничения в нижней части topLayoutGuide или в верхней части bottomLayoutGuide. (Если никакие полосы не должны перекрывать представление, нижняя часть topLayoutGuide совпадает с верхней частью представления, а верхняя часть bottomLayoutGuide совпадает с нижней частью представления.) Оба свойства лениво создаются по запросу.
topLayoutGuide
и bottomLayoutGuide
доступны только из Interface Builder при использовании раскадровок, а не со стандартными NIB, как может показаться...
- person Jonathan Ellis; 16.01.2014
Если вы используете Auto Layout. Снимите флажок «Расширить края> Под нижними полосами», установленный для вашего контроллера панели вкладок в Interface Builder.
В iOS 7:
В иерархии представлений панели вкладок topView->parentView-> .... ->rootView
Выполните следующие действия для каждого представления сверху до корня: добавьте ограничения слева, сверху, справа, снизу для каждого представления.