SwiftUI .rotationEffect () кадрирование и смещение - PullRequest
0 голосов
/ 22 октября 2019

При применении .rotationEffect () к тексту он поворачивает текст, как и ожидалось, но его рамка остается неизменной. Это становится проблемой, когда укладка повернутых представлений в не повернутые представления, например, с использованием VStack HStack, приводит к их перекрытию.

Сначала я думал, что вращение-эффект просто обновит рамку текста, чтобы она была вертикальной,но это не так.

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

Это просто, как выполняется поворот текста, или есть более элегантное решение?

struct TextAloneView: View {

    var body: some View {
        VStack {
            Text("Horizontal text")
            Text("Vertical text").rotationEffect(.degrees(-90))
        }
    }
}

перекрывающийся текст

1 Ответ

0 голосов
/ 22 октября 2019

RotationEffect принимает второй аргумент, который является точкой привязки, если вы ее опускаете - по умолчанию .center.

Попробуйте вместо этого:

.rotationEffect(.degrees(-90), anchor: .bottomTrailing)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...