Ваша проблема, по-видимому, связана не с ограничениями содержимого вашего оповещения, а с размещением / ограничениями представления, которое вы представляете в связи с вашим родительским представлением.Казалось бы, вам нужно вручную установить значения высоты и ширины наблюдателя предупреждений и координаты x, y в коде, чтобы они правильно отображались.
[РЕДАКТИРОВАТЬ] Я только что заметил порядок, в котором установлены ваши ограничения.Убедитесь, что вы перетаскиваете из своего FrameView в SuperView и устанавливаете ограничение в этом направлении.То есть, ПЕРВЫЙ ПУНКТ: FrameView .... ВТОРОЙ ПУНКТ: SuperView ... Это также может быть причиной ваших проблем.
Здесь также есть хорошее обсуждение некоторых проблем с автоматическим макетом и PresentViewController: Недопустимый автоматический макет после представления контроллера вида (и многих других ситуаций)
В любом случае, я бы рекомендовал использовать Центр по горизонтали и Центр по вертикали, в отличие от значений фиксированного статического ограничения для вашего «внутреннего вида»в вашем AlertView.Кажется, это работает лучше при масштабировании на дисплеях разных размеров.
Некоторые ресурсы, которые могут оказаться полезными:
Но, учитывая то, что вы представляете, довольно простоalertview, я бы порекомендовал пропустить повторное изобретение колеса и использовать некоторые готовые библиотеки, которые значительно облегчат вашу жизнь.
1. EZAlertController если все, что вам нужноявляются текстовыми кнопками и кнопками действий.
2. MRProgress , если все, что вам нужно, это индикаторы загрузки / прогресса.
3. NYAlertView если вы являетесьпоиск - это свобода добавлять свой собственный UIView в оповещение.
Эти библиотеки позаботятся о проблемах с ограничениями и сделают разработку намного быстрее.
[ПРАВИТЬ] ВыВозможно, вы захотите взглянуть на: https://github.com/vsouza/awesome-ios#alert--action-sheet, в котором есть отличный список полезных модулей, которые действительно помогают в разработке под iOS.