Для концепции, которую я разрабатываю, мне нужно загрузить XIB-файлы вручную и, используя метод класса и экземпляра, я смог перехватить вызовы imageCustomNamed, imageCustomWithContentsOfFile и imageCustomWithCGImage для класса UIImage и initCustomWithImage для UIImageView.Я хочу определить имя изображения и заменить его содержимым, отображаемым на лету, вместо того, которое установлено в IB во время разработки.
, например:
, когда XIB имеетДля объекта UIImageView, свойство Image которого установлено в "About.png", мне нужно перехватить загрузку этого изображения и заменить его другим в зависимости от определенных условий.Было бы хорошо даже заменить изображение после того, как объект UIImageView загрузил изображение, установленное во время разработки, но похоже, что оригинальное имя UIImage, использованное для установки содержимого UIImageView, нигде не сохраняется.
Iне могу использовать IBOutlets, так как я не знаю содержимого файла XIB заранее;это класс, который должен работать на любом XIB, а не только на конкретном.
Фактически пользовательские методы вызываются вместо тех, которые используются по умолчанию, но выглядит так, что при загрузке XIb система использует imageCustomWithCGImage, который принимаетCGImageRef в качестве аргумента;из него нет способа узнать происхождение (то есть: имя файла изображения)
Есть идеи, как я могу перехватить загрузку изображений?