Рассчитать высоту треугольника после перекоса Swift - PullRequest
0 голосов
/ 10 апреля 2019

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

override func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]? {
        var layoutAttributes = super.layoutAttributesForElements(in: rect) as! [UICollectionViewLayoutAttributes]
        for attribute in layoutAttributes {
            attribute.transform = affineTransformMakeShear(xShear: 0.0, yShear: -0.10510424)
        }

        return layoutAttributes
    }

    func affineTransformMakeShear(xShear: CGFloat, yShear: CGFloat ) -> CGAffineTransform {
        return __CGAffineTransformMake(1, yShear, xShear, 1, 0, 0)
    }

Результат выглядит так:

enter image description here

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

Я пробовал это:

let b = UIScreen.main.bounds.size.width * tan(degreesToRadians(degrees: 6.0))

Это выводит 43,5, но на самом деле это 61(Я сделал измерение с захватом скриншота и посмотрел его в превью).

Что я сделал не так?

...