У меня есть UIViewController
, который инициализирован с правильным фреймом, однако где-то в моем коде фрейм искажен, и мне трудно найти, где.
В подобных ситуациях обычно удобно watch
переменную в отладчике, однако у меня нет способа получить доступ к свойству controller-> view-> frame в моем представлении переменной, так как это не переменная, это свойство (как ни удивительно)
Детализация в UIView на экране переменных показывает несколько вещей, но я ничего не могу связать с кадром, я подумал, что, возможно, это будет в layer
, но это не так.
Есть ли способ следить за изменениями в частном API? Наверное, нет, поскольку переменные по сути являются «скрытыми», и поэтому вы не можете точно указать, что именно watch
.
В качестве альтернативы, какой другой подход я мог бы использовать? Я уже пробовал создавать подклассы UIView, устанавливая представление моего UIViewController так, чтобы оно указывало на этот подкласс, и нарушая метод setFrame, но, похоже, он не работал.
РЕДАКТИРОВАТЬ: метод подкласса UIView DID работает, мне просто нужно было установить представление, чтобы указать на мой тестовый подкласс в viewDidLoad
, а не метод init
. Оставляя этот вопрос открытым, я не уверен, что это лучший способ решения этой проблемы ...