Я создал UIView с пользовательским треугольником, используя UIBezierPath и draw (_ rect: CGRect).Рисование текста в CGPoint
Я хочу добавить текстовые метки в треугольник для каждой из трех точек на своих CGpoints.
Как это сделать?
class TriangleView: UIView {
override func draw(_ rect: CGRect)
{
color.set()
pathForTriangle().stroke()
}
}
Решение основано на некоторых из ответа Mathias Кинтеро и некоторые советы Sulthan в (обновления меток, когда треугольник указывает на обновление):
func addUILabels() {
calculatePoints()
let label1 = UILabel(frame: CGRect(origin: point1, size: CGSize(width: 100, height: 20)))
addSubview(label1)
label1.text = "test"
}
override func draw(_ rect: CGRect)
{
color.set()
pathForTriangle().stroke()
let subViews = self.subviews
for subview in subViews{
subview.removeFromSuperview()
addUILabels()
}
Вы уже указали, что вы работаете в Swift. Не нужно добавлять его в заголовок. –
Добавление представлений в 'layoutSubviews' - не очень хорошая идея. – Sulthan
@ Sulthan, пожалуйста, не могли бы вы уточнить недостатки и предложить альтернативу? –