这似乎是一个错误,但我想知道是否有人能想到解决方法。
在 iPad 上,您将视图控制器呈现为 UIModalPresentationFormSheet。这个视图控制器扩展了 UITabBarController 并且有足够的控制器来自动显示“更多”标签栏按钮。一旦您点击更多按钮,它将正确显示列表,但是一旦您点击“编辑”,它就会显示比实际表单更大的编辑视图(在表单内裁剪),导致内容超出视图,包括带有“完成”按钮的工具栏。关闭的唯一方法是强制退出应用程序。
为了验证它不是特定于我的应用程序的东西,我启动了一个单视图项目,并展示了一个简单的模式视图。此模态视图控制器扩展了 UITabBarController 并具有以下 init 方法:
- (id)init {
self = [super init];
if (self) {
self.modalPresentationStyle = UIModalPresentationFormSheet;
NSMutableArray *controllers = [NSMutableArray array];
for (int i = 0; i< 15; i++) {
UIViewController *vc = [[UIViewController alloc] init];
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:vc];
vc.title = [NSString stringWithFormat:@"view %i", i];
[controllers addObject:nav];
}
self.viewControllers = controllers;
}
return self;
}
我还尝试将 modalPresentationStyle 添加到 moreNavigationController 而没有任何变化。