UIScrollView не использует ограничения автоопределения

У меня есть вид прокрутки и изображение позади него, и я заполняю его перьями. Я использую автозапуск. У меня есть нижнее пространство для просмотра и верхнее пространство для просмотра обоим представлениям. Представление изображения делает именно то, что я хочу, чтобы он делал. Для iphone 5 я хочу это. И для других iphones он остается выше нижней части экрана, поэтому он правильно изменяется. Вид прокрутки выглядит прямо на iphone 5, но на других телефонах он не изменяется, поэтому он прокручивается вниз под видом приложения. Я получаю эти сообщения в журнале:

2012-11-21 10:42:38.576 LCHApp[12604:907] Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) "", "", "", "", "" Will attempt to recover by breaking constraint  

Я уже пробовал

 [self setTranslatesAutoresizingMaskIntoConstraints:YES]; 

а также

 [self.myScrollView setTranslatesAutoresizingMaskIntoConstraints:YES]; 

Из того, что я вижу, это просто снимает все ограничения из представлений. И не то, что я хочу.

    4 Solutions collect form web for “UIScrollView не использует ограничения автоопределения”

    Связь между UIScrollView и макетом авто отличается от других аспектов автоматической компоновки. В принципе, если было разрешено простое автомасштабирование, ничего не прокручивалось. Например, если подчиненное представление прокрутки было закреплено обычным способом с помощью ограничения до 10 точек от верхней части прокрутки, оно было бы абсолютно закреплено там; он никогда не двигался, независимо от того, как прокручивается прокрутка.

    Чтобы решить эту проблему, UIScrollView, который использует autolayout, работает совершенно по-новому. Поэтому, когда вы говорите: «Я использую автозапуск», вы должны подготовиться к тому, чтобы вещи работали совсем по-другому. Вы должны либо использовать один просмотр прокрутки с помощью translatesAutoresizingMaskIntoConstraints = YES , либо явный размер содержимого, либо все должно иметь translatesAutoresizingMaskIntoConstraints = NO а размер содержимого будет выводиться неявно на основе ограничений в subviews.

    Это очень хорошо объяснено в https://developer.apple.com/library/content/releasenotes/General/RN-iOSSDK-6_0/index.html

    Очень важно при использовании автоматической компоновки: вы должны выровнять правую и / или нижнюю часть последнего подсмотра вправо и / или в нижней части прокрутки. Это представление прокрутки знает размер содержимого. Например:

     [scrollView addConstraint:[NSLayoutConstraint constraintWithItem:lastSubView attribute:NSLayoutAttributeRight relatedBy:NSLayoutRelationEqual toItem:scrollView attribute:NSLayoutAttributeRight multiplier:1.0 constant:0]]; 

    Я благодарю этот сайт за отличный пример.

    Из-за этого я потерял много времени, и я надеюсь избавить других от моей боли.

    Чтобы получить UIScrollviews, чтобы хорошо работать с ограничениями, я использую этот подход, на который вы ответили. В этом ответе я решаю, как получить прокрутку по вертикали, которая также работает с rotationм устройства. Вы можете настроить подход к работе с горизонтальными прокручиваемыми прокрутками. Для прокрутки, которые прокручиваются в обоих направлениях, не добавляйте трюк ограничения ширины соответствия размера. Но делайте все остальное одинаково.

    Несколько вещей.

    1. убедитесь, что автозапуск включен (IB на вкладке «Инспектор файлов»)
    2. Убедитесь, что вы НЕ вносите никаких изменений, связанных с рамками, фреймом и т. Д. – все это делается с помощью автоматических ограничений сейчас
    3. Убедитесь, что вы держитесь подальше от AutoResizingMask. Это будет соответствовать вашим новым настройкам. Если все сделано правильно, теперь вы можете разместить свою кнопку, и она будет работать отлично. Вот как.

    Эта ошибка говорит о том, что ни ваш ниб, ни элемент управления внутри этого элемента не используют автоматическую компоновку.

    Interesting Posts

    Как предотвратить закрытие диалогового windows при нажатии кнопки

    Является ли математика с плавающей запятой в C #? Может ли так быть?

    Как получить json.net для сериализации членов classа, полученных из List ?

    Кто изменил мои функциональные клавиши? Функции F7 и F8 были перезаписаны в Windows 7

    Rails 4 многократное изображение или загрузка файла с использованием несущей

    Почему мой компьютер отключается внезапно и без предупреждения?

    Изменение полей для отдельной страницы в Word

    Как поделиться одним источником библиотеки в нескольких проектах

    Как обходить ограничения IP через работу DNS в случае hulu.com?

    Как сделать отображение SUBST постоянным при перезагрузке?

    Как анализировать дату / время из строки?

    Способ адаптации контента к мобильному

    Как удалить данные из базы данных после «n» дней

    Как рекурсивно решить алгоритм «classического» рюкзака?

    c # непрерывно читать файл

    Давайте будем гением компьютера.