Я следовал this tutorial, чтобы создать пользовательский слайдер, который выполняет подклассы UIControl
. Он отлично работает, когда элемент управления программно вставлен в представление с точным размером, положением и т. Д.Пользовательский UIControl (слайдер) не соблюдает ограничений до взаимодействия с
Однако я хотел использовать Раскадровка, чтобы визуально выровнять компоненты моего вида, поэтому я добавили @IBInspectable
пользовательский слайдер. Вот моя проблема:
- В Раскадровке я добавил пользовательский слайдер и добавил ограничения для «Trailing Space to superview» и «Leading Space to superview».
- Однако, когда я запускаю его на своем устройстве, вначале он не соблюдает установленные выше ограничения , пока я не взаимодействую с слайдером (коснитесь кнопки), и вдруг ограничения будут применены.
- Я попытался позвонить
setNeedsDisplay
в методеinit (coder: NSCoder)
, но ничего не работает.
Есть ли у кого-нибудь идеи, почему это происходит и как я могу это исправить?
Спасибо за подсказку. Похоже, трюк состоял в том, чтобы переопределить layoutSubviews в моем пользовательском UIControl, а затем вызвать setNeedsDisplay и т. Д. –