2014-12-25 3 views
0

Я разрабатываю небольшое приложение IOS, в котором я использую scrollview с автоматической компоновкой. Все работает отлично. Но только когда я скрываю любой вид внутри прокрутки, он не корректирует scrollview высота в зависимости от этого. Моя точка зрения иерархия выглядитScrollview с автоматической раскладкой, не регулирующей высоту scrollview

Scrollview -> View -> view1 
        -> view2 
        -> view3 
        -> view4 

Таким образом, в описанной выше ситуации, если скрыть view3 то он не подстраиваясь layout.It оставил пустое место в месте зрения скрыть. Я делаю что-то неправильно? Как использовать автоматическую компоновку и scrollview с динамической высотой?

+0

Вы можете вычислить max Y для видимых видов, а затем исправить scrollView.contentSize – stosha

+0

Хорошо, позвольте мне попробовать это и вернемся к вам. – nilkash

+0

скрытие не имеет дело с автоспуск. Скрытый вид все еще учитывается при расчете макета. – Andrea

ответ

0

Скрытие вида не удаляет его из иерархии представлений, делает его невидимым.

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

+0

Привет @Андрю спасибо за быстрый ответ. У вас есть какой-нибудь пример? – nilkash

+0

Извините, я сейчас путешествую и на мобильный. Но вот вопрос, на который я ответил ранее, по сути делает противоположное (добавление просмотров и увеличение супервизора с использованием автозапуска) и должно дать вам представление о том, как действовать. http://stackoverflow.com/questions/27317228/resize-superview-while-adding-subviews-dynamically-with-autolayout/27334720#27334720 –

+0

Хе не беспокоится сэр. Спасибо за вашу любезную помощь. Проверьте свое решение. – nilkash

0

вы должны использовать UITableView и использовать deleteRowsAtIndexPaths для удаления Просмотреть

+0

мой интерфейс очень сложный, он содержит таблицу, а также коллекцию. Поэтому, используя представление таблицы и внутри этого, просмотр табличного представления и коллекции будет очень сложным для обработки. Есть ли другое решение? – nilkash

0

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

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