Swift Storyboard - Центрирование значка и многострочного текста по горизонтали - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь создать снэк-бар в стиле Android.Все поведение правильное, но у меня осталась проблема с макетом.Я на самом деле разбил это на тестовое приложение, чтобы немного упростить вещи.

enter image description here

Панель закреплена в нижней части представления и содержитЗначок (UIImageView) вместе с текстом (UILabel).Этот текст может содержать до 2 строк максимум.

Например, он должен иметь возможность расширяться следующим образом: -

enter image description here

Однако, чтобы еще больше усложнить ситуацию, мне нужно, чтобы значок и текст располагались по центру красной полосы, а затем растягивались от центра до такой точки, чтобы ее нужно было обернуть.Обратите внимание, что есть отступ к началу значка и концу текста, чтобы он не касался сторон.Примером центрированного контента может быть ..

enter image description here

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

Я даже пытался использовать строку NSAttributed и добавить изображение к самому тексту.но когда текст обернут, иконка изменялась и / или терялась.

Как вы можете видеть, я делал это в раскадровке, но я более чем рад сделать это программно, если это лучше подходит для этой цели.

1 Ответ

2 голосов
/ 12 июня 2019

Создано это Демонстрация для справки, это простая задача сделать вложенное представление внутри красного представления с ограничением centerX приоритета 1000 и ведущим ограничением с приоритетом 999

enter image description here

Теперь у вас есть этот эффект

enter image description here

...