Как исправить шрифт, вырезанный снизу? - PullRequest
1 голос
/ 26 января 2020

У меня есть собственный шрифт в приложении, и я использую его на Text следующим образом:

struct CustomButton: View {

    var label: String
    var action: () -> Void

    init(_ label: String, action: @escaping () -> Void) {
        self.label = label
        self.action = action
    }

    var body: some View {
        Button(action: action) {
            Text(label)
                .padding()
        }
    }
}

, а предварительный просмотр:

struct CustomButton_Previews: PreviewProvider {
    static var previews: some View {
        VStack {
            CustomButton("Simple g Button") {
            }
            .font(.custom("NexaBold", size: 40))
            .foregroundColor(.red)
        }
        .background(Color.black)
        .previewDevice(PreviewDevice(rawValue: "iPhone 8"))
    }
}

enter image description here

Как видите, символ g плохо отображается и вырезан снизу. Я подтвердил в файле шрифта, что он завершен, но Text отображает его как вырезанный снизу.

Я попытался добавить еще padding, но это не решает проблему.

Пожалуйста, помогите, как я могу это исправить?

1 Ответ

3 голосов
/ 26 января 2020

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

enter image description here

    Button(action: action) {
        Text(label)
            .baselineOffset(2) // << shifted baseline !
            .font(.custom("Nexa Bold", size: 40))
            .padding()
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...