Я занимаюсь разработкой программы на базе iPad.Я создал новый модальный UIViewController, так как режим формы не полноэкранный.И чтобы изменить размер представления, я использовал следующие коды....
MyController* controller = [[MyController alloc] init];
controller.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentModalViewController : controller animated: YES];
UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
if ( UIInterfaceOrientationIsPortrait(orientation) )
controller.view.superview.frame = CGRectMake(200, 100, 350, 600);
else
controller.view.superview.frame = CGRectMake(100, 200, 600, 350);
...
в MyController, я взял следующие коды как didRotateFromInterfaceOrientation.
- (void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
UIInterfaceOrientation orientation = [UIApplication sharedApplication].statusBarOrientation;
if ( fromInterfaceOrientation == orientation )
return;
if ( UIInterfaceOrientationIsPortrait(orientation) )
{
self.view.frame = CGRectMake(0, 0, 350, 600);
self.view.superview.frame = CGRectMake(200, 100, 940, 628);
}
else
{
self.view.frame = CGRectMake(0, 0, 600, 350);
self.view.superview.frame = CGRectMake(100, 200, 600, 350);
}
}
, но при повороте экрана вид небыть изменены, а ширина и высота суперпредставления имеет неожиданное значение.пожалуйста, помогите моей проблеме.