当用户点击行时,我在 UItableviewcontroller 上添加了pickerview。我正在使用以下代码来显示它。[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];
当设备处于纵向时,它似乎工作得很好,但是一旦方向改变,除了添加的选择器视图之外,一切都会自行调整。
我可以获取设备方向,删除旧视图并根据方向添加新视图,但我不确定这是否是一种好方法。我可以用其他有效的方法吗?
苏米特