iPhone sdk как установить ориентацию представления с двумя разными представлениями, отображаемыми с помощью сегментированного элемента управления

Я использую сегментированный элемент управления, состоящий из двух сегментов.

  • Когда нажимается сегмент 1, я показываю представление, содержащее табличное представление, для которого мне не нужна альбомная ориентация, а только портретная.
  • Когда сегмент 2 нажат, я показываю другой вид, для которого хочу разрешить альбомную ориентацию.

Итак, я использую следующий код:

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
   if (self.view == self.myFirstView)
      return false;
   else if (self.view == self.mySecondView)
      return true;
}

Все это прекрасно работает, за исключением следующего условия: если пользователь выбирает сегмент 2, а затем вращает телефон, вид переходит в альбомный режим. Затем, все еще удерживая телефон в альбомном режиме, пользователь нажимает сегмент 1. Это отображает первый вид в альбомном режиме (я хочу, чтобы этот вид отображался только в портретном режиме).

Итак, вопрос в том, как мне показать первый вид, но сбросить ориентацию вида на портретную?

Любые идеи?


person bpatrick100    schedule 18.01.2011    source источник
comment
Вы хотите использовать ориентацию устройства для установки портретной / альбомной ориентации, а также для сегментированного управления? Похоже, вы предоставляете несколько способов настройки ориентации, которые могут сбить с толку пользователя, и, возможно, вам тоже ;-)   -  person Snips    schedule 19.01.2011
comment
Я не предлагаю несколько способов настройки ориентации. Я просто разрешаю 1 вид отображать в альбомном и портретном режимах, а 1 вид - только в портретном режиме. Мне кажется, это простая концепция.   -  person bpatrick100    schedule 19.01.2011
comment
Думаю, вы не понимаете, что я делаю. Мой сегментированный элемент управления не отображает никакой конкретной ориентации. Мой сегментированный элемент управления отображает 1 из 2 представлений в зависимости от того, какой сегмент был нажат. View 1 не поддерживает альбомную ориентацию, но View 2 поддерживает (они оба поддерживают портретную ориентацию). Я не меняю ориентацию вручную, поэтому не должно ничего путать. Загвоздка в том, что ... когда пользователь выбирает View 2 и наклоняет телефон, чтобы перейти в альбомный режим, а затем выбирает View 1, мой View 1 отображается в альбомном режиме (который мне не нужен).   -  person bpatrick100    schedule 19.01.2011


Ответы (1)


в view1 получите ориентацию, а если она альбомная, переключите ее на портретить.

person Aravind    schedule 02.04.2011