0

这是我的代码。我可以看到出现了小对话框,然后对话框占据了整个屏幕。怎么了?

ChangeProfileImage *changeProfileImage =[[ChangeProfileImage alloc] init];

changeProfileImage.modalPresentationStyle = UIModalPresentationFormSheet;
changeProfileImage.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:changeProfileImage animated:YES];
changeProfileImage.view.superview.frame = CGRectMake(0, 0, 200, 200);//it's important to do this after 
changeProfileImage.view.superview.center = self.view.center
4

1 回答 1

0

我已经准备好告诉你这段代码有什么问题,但是我设置了一个简单的 iPad 单视图应用程序并尝试了以下代码:

- (IBAction)FlipPressed:(id)sender {
    UIViewController *vc = [[UIViewController alloc] init];
    UIView *view = [vc view];
    [view setBackgroundColor:[UIColor redColor]];
    [vc setModalPresentationStyle:UIModalPresentationFormSheet];
    [vc setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
    [self presentModalViewController:vc animated:YES];
    [[[vc view] superview] setFrame:CGRectMake(0, 0, 200, 200)];
    [[[vc view] superview] setCenter:[[self view] center]];
}

当我尝试这个时,我得到一个 200x200 的红色框,带有圆角,它会翻转到屏幕中心的视图。

据我所知,我几乎完全复制了你的代码,我想我得到了你想要的结果,对吧?

编辑/更新

进一步的测试似乎表明此代码仅在 iPad 处于纵向时才能正常工作。否则,我的视图似乎“垂直”翻转(关于 iPad 的方向)并且视图未居中。

于 2012-05-06T13:15:38.063 回答