нормально ли это делать, все в draw(_ rect: CGRect)
методе
Абсолютно нет.Это не имеет ничего общего с производительностью;это связано с тем, что означает draw
.Это означает ничья .Единственное, что вы должны когда-либо делать в draw
, это давать команды рисования, чтобы рисовать в графическом контексте, который был задвинут для вас.
Другая проблема заключается в том, что draw
можно вызывать много развремя существования представления, но добавление ограничений и распознавателей жестов - это то, что вы хотите сделать только один раз.
Если вы хотите добавить ограничения и распознаватели жестов, сделайте это в подходящее время, например, когда представление помещается вего супервизия, или когда должно произойти макетирование.