Вы должны будете придерживаться вашего состояния по умолчанию в вашем классе представления. Создайте подкласс UIView
и создайте такой метод, как -resetToDefaultState
, где вы делаете то, что хотите. Затем просто вызовите этот метод в вашем контроллере представления. Или поместите логику сброса состояния в самом контроллере представления, хотя я бы поспорил, что, вероятно, озабоченность представления тем, что вообще означает «состояние по умолчанию».
Затем в этом методе просто сбросьте метки и свойства переменных. В качестве побочного эффекта вы можете вызывать этот метод в методах init
вашего представления, чтобы не дублировать код состояния по умолчанию.
(Кстати, -setNeedsDisplay
не имеет ничего общего с состоянием по умолчанию или чем-либо еще. Он просто помечает представление как грязное, так что его метод -drawRect:
вызывается в следующем цикле основного цикла выполнения.)