Я добавляю 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];
Кажется, что он отлично работает, когда устройство находится в портретной ориентации, но как только ориентация изменится, все изменится, за исключением добавления вида выбора.
Я могу получить ориентацию устройства, удалить старый вид и добавить новый в соответствии с ориентацией, но я не уверен, является ли это хорошим способом сделать это или нет.Могу ли я сделать это любым другим эффективным способом?
Сумма