Недавно я пытался сохранить время рендеринга, минимизируя время, затрачиваемое на выделение и дублирование ресурсов, как изображения, используя уже выделенные UIImageViews и UIImages.Несколько настроек изображения для UIImageView
Что я пытаюсь сделать, это сохранить карту всех UIImages - каждый из них уникален и переназначить каждый из них в несколько UIImageViews по требованию от игрового движка. По ходу игры я удаляю некоторые UIImageViews с дисплея, а позже может использовать их с разными предустановленными UIImages.
В первый раз я создаю UIImageView я сделать что-то вроде:
m_ImageView = [[UIImageView Alloc] initWithImage: initialImg];
[m_ParentView addSubview: m_ImageView];
И следующие раз я просто переключить изображение:
[m_ImageView.image релиз];
[m_ImageView setImage otherSavedImg];
Проблема в том, что после переключения новый размер изображения, как показано, идентичен размеру начального изображения. Я обошел проблему, воссоздавая UIImageView каждый раз (что кажется пустой тратой времени), но мне интересно, почему это происходит и как я могу его предотвратить.
Спасибо,
Эй Дэйв, Спасибо за ответ, прочитав его, я вернулся и прочитал фронт документа UIImageView назад, и они действительно упоминают что-то вроде этого: > Настройка свойства изображения не изменяет размер UIImageView. Вызовите sizeToFit, чтобы настроить размер представления в соответствии с изображением. Очень странно, что они не делают этого с набором UIImage, но эй, ты спас меня в день. -Adi – Adi
Ха, я забыл о методе sizeToFit! Хорошая находка. Тем не менее, я бы порекомендовал создать категорию для установки изображения и sizeToFit, чтобы он разлагал * ваш * код. –
Я вернулся и изменил ответ на использование «sizeToFit». знак равно –