Эти ошибки lvalue происходят, потому что сами границы являются свойством, но координаты в них являются элементами структуры (даже если синтаксис тот же) - вы не можете напрямую получить или установить их. Таким образом, чтобы изменить границы, вы хотите что-то вроде:
CGRect imageBounds = imageView.bounds;
imageBounds.x += 10;
imageView.bounds = imageBounds;
Вызов sizeToFit
в UIImageView после установки изображения должен заставить его автоматически изменять размер рамки вокруг него.
И да, согласно ответу Уолтера, если вы установите contentMode
в представлении UIViewContentModeScaleAspectFit
, чтобы оно сохраняло соотношение сторон.