Как настроить положение подпредставлений на экране, когда устройство меняет ориентацию? - PullRequest
0 голосов
/ 08 ноября 2011

Я добавляю pickerview на UItableviewcontroller, когда пользователь нажимает на строку.Я использую следующий код для отображения.[self.view.window addSubview: languagePicker];

    CGRect screenRect = [[UIScreen mainScreen] applicationFrame];
    CGSize pickerSize = CGSizeMake(768.0, 216.0);
    CGRect startRect = CGRectMake(0.0,
                                  screenRect.origin.y + screenRect.size.height,
                                  pickerSize.width, pickerSize.height);
    self.languagePicker.frame = startRect;

    // compute the end frame
    CGRect pickerRect = CGRectMake(0.0,
                                   screenRect.origin.y + screenRect.size.height - pickerSize.height,
                                   pickerSize.width,
                                   pickerSize.height);


        self.languagePicker.frame=startRect;
        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:0.5];
        [UIView setAnimationTransition:UIViewAnimationOptionTransitionNone forView:self.view.window cache:YES];
        [self.languagePicker setFrame:pickerRect];
        [UIView commitAnimations];

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

Я могу получить ориентацию устройства, удалить старый вид и добавить новый в соответствии с ориентацией, но я не уверен, является ли это хорошим способом сделать это или нет.Могу ли я сделать это любым другим эффективным способом?

Сумма

Ответы [ 2 ]

0 голосов
/ 13 ноября 2011

Это была глупая ошибка, вместо того, чтобы ставить это окно просмотра, я просто перетаскивал его и помещал в xib. Само по себе решение проблемы решило.

0 голосов
/ 08 ноября 2011

Вы должны установить:

self.languagePicker.autoresizingMask

Это поможет вашему представлению автоматически настроить в соответствии с настроенными ограничениями.

...