У меня есть пианино UIView, сделанное из Key subviews.Клавишам назначены их рамки относительно структуры фортепьяно.Это прекрасно работает, если я остаюсь в портретном режиме.
Но если я начинаю в альбомном режиме, рамка пианино имеет альбомную ориентацию, но клавиши настраиваются относительно рамки портретного режима пианино.(Там есть серая область, поэтому я знаю, что рамка пианино отличается от суммы клавиш)
Есть ли способ получить кадр пианино в ландшафтном режиме, пока я нахожусь в портретном режиме?Таким образом, я могу проверить, нахожусь ли я в альбомном режиме, и назначить соответствующий кадр.
Код ниже находится в классе фортепиано
- (void) setWhiteKeys {
CGRect baseFrame = CGRectMake(0, 0, self.frame.size.width / 7, self.frame.size.height)
for (Keys *key in whiteKeys) {
// sets the key's x origin to where the previous key ended
key.frame = baseFrame;
baseFrame.origin.x = key.frame.origin.x + key.frame.size.width;
}