Fra*_*Fox 40 objective-c ipad ios uipresentationcontroller
我正在尝试使用表单表格在iPad中加载UIViewController.问题是这个新视图的大小,我将大小值放在IBuilder中,但模态视图采用固定值.
另外我试着在prepareForSegue中这样做:
HelpViewController *viewController = segue.destinationViewController;
viewController.view.superview.frame = CGRectMake(0, 0, 200, 200);
Run Code Online (Sandbox Code Playgroud)
但是不工作,有什么帮助吗?谢谢!
Eri*_*ich 77
对于iOS 8,请使用:
self.preferredContentSize = CGSizeMake(width, height);
Run Code Online (Sandbox Code Playgroud)
我把它放进去了viewDidLoad.
self.preferredContentSize = CGSize(width: 100, height: 100)
Run Code Online (Sandbox Code Playgroud)
编辑
使用preferredContentSize.
旧
您可以尝试在中心显示视图
HelpViewController * viewController = [[[HelpViewController alloc] init] autorelease];
viewController.modalPresentationStyle=UIModalPresentationFormSheet;
viewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:viewController animated:YES completion:^{
viewController.view.superview.frame = CGRectMake(0, 0, 200, 200);
viewController.view.superview.center = self.view.center;
}];
Run Code Online (Sandbox Code Playgroud)
preferredContentSize演示时,例如在iOS 11上设置对我不起作用EKEventEditViewController。
仅当我重写的getter时,它才有效preferredContentSize。像这样:
private class CLEventEditViewController: EKEventEditViewController {
override var preferredContentSize: CGSize {
get {
if let fullSize = self.presentingViewController?.view.bounds.size {
return CGSize(width: fullSize.width * 0.5,
height: fullSize.height * 0.75)
}
return super.preferredContentSize
}
set {
super.preferredContentSize = newValue
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 0
我也遇到了这个问题,您应该在呈现超级视图后调整其框架的大小。
HelpViewController *viewController = segue.destinationViewController;
viewController.modalPresentationStyle = UIModalPresentationPageSheet;
[self presentViewController:viewController animated:YES completion:nil];
viewController.view.superview.frame = CGRectMake(0, 0, 200, 200);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46212 次 |
| 最近记录: |