XCODE 11, SWIFT 5. Рисование линий, ящиков и т. Д. - PullRequest
1 голос
/ 04 апреля 2020

Я недавно переключился на Xcode 11 и Swift 5. Также весь мой проект переключился с UISwift на раскадровку, так как я прочитал, что у него много преимуществ.

Теперь я нахожу недостатки, я не могу рисовать прямоугольники / линий на моей раскадровке, я могу сделать это с помощью кода, но это создает дополнительные проблемы с внесением изменений в мой проект в раскадровке и ограничениях элементов.

Кто-нибудь знает, возможно ли рисовать фоновые рамки / линии между текстом ? В некоторых случаях у меня есть 6 меток, которые будут все go в одном поле, поэтому я не могу использовать функцию фона метки.

См. Онлайн-пример ниже, серых прямоугольников

text

1 Ответ

1 голос
/ 04 апреля 2020

Теперь я нахожу недостатки, я не могу рисовать рамки / линии на своей раскадровке

Редактор раскадровки - это не программа для рисования, а в основном для раскладки просмотров и их соединение друг с другом и с другими объектами, например с контроллерами представления. Если вы пытаетесь использовать его для рисования линий и рамок, вы лаете не на то дерево.

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

Кто-нибудь знает, возможно ли рисовать фоновые поля / строки между текстом?

Есть несколько хакерских опций. Например, вы можете очень легко создать класс вида, который отображает горизонтальную или вертикальную линию aws через его центральную точку, или класс представления, который задает aws линию вокруг своего периметра для блока. (На самом деле вы можете использовать кодирование ключ-значение для установки свойств на уровне представления, чтобы сделать это даже без создания подкласса , но это не то, что вы хотите делать каждый раз, когда вам нужен блок.) хороши для случайного использования, но если у вас есть какой-либо сложный чертеж, возможно, пришло время написать класс представления, который dr aws необходимый контент в коде.

В некоторых случаях у меня есть 6 надписи, которые будут все go под одним полем, поэтому я не могу использовать функцию фона надписи.

Все эти 6 надписей должны содержаться в другом представлении, так что вы просто установите цвет фона для представления, которое содержит их. Опять же, из вашего примера это выглядит как строки в таблице. Каждая строка в таблице - это свое собственное представление (или «ячейка»), и цвет фона легко установить в том же коде, который настраивает остальные подпредставления в этой ячейке.

...