Как центрировать текст внутри круглой кнопки, используя swiftUI? - PullRequest
1 голос
/ 06 марта 2020

Я разрабатываю вид в SwiftUI, который представляет монету. Монета - это кнопка.

Внутри монеты я хочу центрировать текст, представляющий сумму, если текст, скажем, «0,01» для 1 цента.

Проблема в том, что Если размер текста 30, я не могу центрировать текст внутри кнопки. Вот моя попытка, установив для отступа .all.

Button(action: addToTotal)
    {
        Text(coinAmount.toTwoDecimalOrTruncatedString())
            .font(.system(size: 30))
            .fontWeight(.bold)
            .multilineTextAlignment(.center)
            .lineLimit(0)

    }
    .padding(.all)
    .accentColor(.white)
    .frame(width: 100, height: 100, alignment: .bottom)
    .background(Color.orange)
    .cornerRadius(100)

cointAmount - это Float.

toTwoDecimalOrTruncatedString - это метод расширения, который усекает количество монет к двузначной строке, если число является плавающей точкой.

Я думаю, что проблема связана с отступом, но я не могу отцентрировать текст с точностью до пикселя в представлении кнопки:

button preview

Есть предложения?

1 Ответ

2 голосов
/ 06 марта 2020

Просто используйте выравнивание по центру в вашем .frame, ie

}
.padding(.all)
.accentColor(.white)
.frame(width: 100, height: 100, alignment: .center) // << here!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...