我在viewController中创建了一个模态对话框。
dialogViewController *dialog = [[dialogViewController alloc] init];
dialog.modalPresentationStyle = UIModalPresentationFormSheet;
dialog.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
dialog.indexPath = indexPath;
dialog.campaignArray = self.campaignArray;
dialog.view.superview.frame = CGRectMake(dialog.view.superview.frame.origin.x+250, dialog.view.superview.frame.origin.y, dialog.view.superview.frame.size.width-250, dialog.view.superview.frame.size.height);
[self presentViewController:dialog animated:YES completion:nil];
上面改变了模态对话框的宽度而不是x位置。它适用于modalDialog,但用户可以看到它被调整大小。
答案 0 :(得分:0)
如果你想使用
UIModalPresentationFormSheet
控制器将居中。这里有非常具体的格式。如果你想要任何不同的东西,你将不得不建立自己的。
呈现视图的宽度和高度小于屏幕的宽度和高度,视图以屏幕为中心。如果设备处于横向方向且键盘可见,则向上调整视图的位置以使视图保持可见。所有未覆盖的区域都会变暗以防止用户与其进行交互。
答案 1 :(得分:0)
试试这个:
dialogViewController *dialog = [[dialogViewController alloc] init];
dialog.modalPresentationStyle = UIModalPresentationFormSheet;
dialog.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
dialog.indexPath = indexPath;
dialog.campaignArray = self.campaignArray;
[self presentViewController:dialog animated:YES completion:nil];
CGRect dlgFrame = dialog.view.superview.frame;
dlgFrame.size.width -= 250.0;
dialog.view.superview.frame = dlgFrame;