Почему этот код макета UIView не работает так, как я хочу?
Фон:
- У меня есть пользовательский UIView, который есть в моем UIViewController
- У пользовательского UIView есть фоновое изображение часов и изображение часового изображения
- После введения некоторого кода (см. Ниже), чтобы попытаться изменить размер часовой стрелки для изменения ориентации, я застреваю.
- Код, приведенный ниже, действительно запутывает вещи - граница с часовыми стрелками отличается от этого кода
Любые идеи о том, что я делаю неправильно - очевидно, есть какое-то предположение или недоразумение, которое я могу испортить вот так ...
Код, вызываемый UIViewController (в методе didRotateFromInterfaceOrientation) для моего пользовательского представления:
// Centre image
self.hourHandImageView.center = self.hourFaceUIImageView.center;
// Resize to cater for either Portrait or Landscape orientation
CGSize currSize = self.hourFaceUIImageView.frame.size;
float newHourHandImageheightWidth = currSize.width < currSize.height ? currSize.width : currSize.height;
CGSize newHourHandViewSize = CGSizeMake(newHourHandImageheightWidth, newHourHandImageheightWidth);
CGRect newRect = self.hourHandImageView.frame;
newRect.size = newHourHandViewSize;
self.hourHandImageView.frame = newRect;
PS. Без кода «Изменить размер для размещения книжной или альбомной ориентации» часовая стрелка правильно остается в центре, где должна (отмечая, что я использую преобразование, чтобы перевернуть ее). Все, что мне действительно нужно сделать, - это соответствующим образом изменить размер часовой стрелки после изменения ориентации, отметив, что фоновое изображение часа меньше в ландшафтном режиме.