, в частности, рамка вашего представления определяет origin{x,y}
, а size{width,height}
.
это простой прямоугольник.
также передается прямоугольник для аргументов рисования.
чтобы ваше представление представляло четырехугольник более сложный, чем прямоугольник, вы должны написать несколько пользовательских преобразований геометрии (если функция уже не существует). Есть много API для облегчения этого (например, NSBezierPath / UIBezierPath).
в конечном счете, вам нужен кадр, достаточно большой, чтобы вместить весь четырехугольник. когда вас просят нарисовать часть, вы определяете, что рисовать, и как ее заполнить.
, так как вы хотите 4 подвижные точки внутри прямоугольника, вы должны определить 4 точки (например, CGPoint) - по одной для каждого угла. сделать эти ивары подкласса вашего представления. когда они изменятся, сделайте вид недействительным, если это необходимо.