Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не рабоатет авторазмещения для некоторых UIView 
V
    Опции темы
TechnoMag
Дата 9.9.2015, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.3.2010

Репутация: нет
Всего: нет



Для storyboard включены Autolayout и Size Calsses.
Constraints настроены на 5 View. Для переклбчения между View используется PageController - т.е. реализован механизм слайдинга.
iPhone 4s (iOS 8.4) на все View действует авторазмещение.
iPhone 6 (iOS 8.4) при прочих равных условиях авторазмещение по ширине действует только на первые 2 View.
Пробовал создавать constraints с нуля - не помогает.
Какие могут быть причины?
PM MAIL ICQ   Вверх
Sartorius
Дата 9.9.2015, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



А ты Size Calsses используешь тоже? Или все-таки используются только Constraints?
Warning-и есть какие-то от IB или в консоли после запуска?
PM MAIL ICQ   Вверх
TechnoMag
Дата 9.9.2015, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.3.2010

Репутация: нет
Всего: нет



Size Classes включал, но они не влияли на размещение.
В общем использую только Constraints.

Wainings:
Automatic Preffered Max Layout width is not avaliable on IOS version prior to 8.0

Но я не могу увидеть в к какой части StoryBoard отнисится этот warning.


Это сообщение отредактировал(а) TechnoMag - 9.9.2015, 14:35
PM MAIL ICQ   Вверх
TechnoMag
Дата 9.9.2015, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.3.2010

Репутация: нет
Всего: нет



Все Warning'и убрал. Но дочерние представления так и не растягиваются по отношению к корневому View.
Как, впрочем, и корневой View не изменяет размеры.

Это сообщение отредактировал(а) TechnoMag - 9.9.2015, 16:30
PM MAIL ICQ   Вверх
Sartorius
Дата 9.9.2015, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



Наверно все-таки Constraints заданы с ошибкой. View-ов немного - может стоит все попробовать переделать с нуля, тестируя каждый добавленный view?
PM MAIL ICQ   Вверх
TechnoMag
Дата 10.9.2015, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.3.2010

Репутация: нет
Всего: нет



Цитата(Sartorius @ 9.9.2015,  20:24)
Наверно все-таки Constraints заданы с ошибкой. View-ов немного - может стоит все попробовать переделать с нуля, тестируя каждый добавленный view?

Ошибка Constraints в одной сцене может повлиять на отображение другой, совершенно не связанной, сцены?

Это сообщение отредактировал(а) TechnoMag - 10.9.2015, 09:02
PM MAIL ICQ   Вверх
TechnoMag
Дата 10.9.2015, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.3.2010

Репутация: нет
Всего: нет



Удалил полность все view со сцены и добавил только корневой. Размеры корневого view не изменяются.
PM MAIL ICQ   Вверх
TechnoMag
Дата 11.9.2015, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.3.2010

Репутация: нет
Всего: нет



Не думал, что придется вручную править storyboard:
 для корневого view
 
Код

<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>

заменяем на
  
Код

<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>


Также не забываем ставить галочки Autoresize Subviews для View у которых есть дети.
Выставляем для корневых View режим(Mode): "Scale to fill"

Также на размещение по ширине может сыграть Constraint выравнивания по центру.

Это сообщение отредактировал(а) TechnoMag - 11.9.2015, 13:41
PM MAIL ICQ   Вверх
Sartorius
Дата 11.9.2015, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



Хм Как-то ты смешиваешь autoresizing и autolayout. Лучше чем-то одним пользоваться наверно. Для того, что бы растянуть view на весь parent нужно установить leading, trailing, top и bottom space constraints относительно superview = 0
PM MAIL ICQ   Вверх
TechnoMag
Дата 11.9.2015, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.3.2010

Репутация: нет
Всего: нет



Цитата(Sartorius @ 11.9.2015,  12:57)
Хм Как-то ты смешиваешь autoresizing и autolayout. Лучше чем-то одним пользоваться наверно. Для того, что бы растянуть view на весь parent нужно установить leading, trailing, top и bottom space constraints относительно superview = 0

Проблема в том, что autoresizing без autolayout не работают и наоборот, даже если будут привязки контролов к границам View.
PM MAIL ICQ   Вверх
Google
  Дата 20.6.2018, 16:32 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | iOS | Следующая тема »


 




[ Время генерации скрипта: 0.0773 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.