Что лучше, setEnabled или setUserInteractionEnabled?

Я хочу отключить UIButton для пользователя. И setEnabled, и setUserInteractionEnabled могут это сделать. Что лучше? Как они отличаются?

Ответ 1

enabled является свойством UIControl, которое является суперклассом для UIButton. userInteractionEnabled является свойством UIView (который является суперклассом UIControl). enabled оказывает влияние на визуальное состояние объекта (по умолчанию неактивен) и, как правило, предпочтительным методом отключения управляющей визуальной обратной связи, указывающей на поведение, является хорошая вещь.

Там не так много практического выхода. Код, который взаимодействует с вашими элементами управления, с большей вероятностью проверяет, включены ли кнопки, чем если установлено свойство userInteractionEnabled; это более условно.

Ответ 2

Если что-то отключено, оно недоступно.

Если взаимодействие отключено, оно кажется нормальным, но вы не можете взаимодействовать с ним.