Получить размер экрана независимо от ориентации

У меня есть TableViewController с несколькими ячейками. Я устанавливаю высоту этих ячеек в методе heightForRowAt:

    override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return UIScreen.main.bounds.maxY / 15
}

При портретной ориентации устройства все работает нормально, но при альбомной ориентации maxY очень мал, поэтому и ячейки слишком малы. Я хочу, чтобы они имели одинаковую высоту независимо от ориентации. Итак, как мне получить портретную высоту устройства, даже если текущая ориентация альбомная?


person Patrick    schedule 16.02.2020    source источник


Ответы (1)


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

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

Это мой код сейчас:

    override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return (UIScreen.main.bounds.maxY+UIScreen.main.bounds.maxX) / 28
}
person Patrick    schedule 18.02.2020