ios - 如何删除其他选项卡上出现的白色顶部空间(UITabBarController)

标签 ios xamarin.ios autolayout storyboard

我正在使用 Mono 开发 Xamarin Studio,但您可以使用 Obj-C 或 Swift 进行响应,我不介意。 (请不要介意屏幕截图上的图标、设计、翻译等,这是 WIP)

我有一个我无法解决的奇怪问题:

在我的 UITabBarController 中的 UIView 的顶部栏下方出现一个白色空白区域,起初我认为这是启用了“调整 ScrollView 插入”选项,但事实并非如此。我还尝试删除我的 UIWebView 并尝试使用标签,同样的问题。

空白区域仅出现在我的 UITabBarController 的“其他”部分中“选项卡式”的 View 上(当屏幕太小时)。您可以在我的 iPad 屏幕截图中看到空白不在这里,但在其他所有设备(iPhone、iPhone plus)上都会出现!

如果设备不是 iPad,我可以设置一个负的顶部约束,但这不是删除它的正确方法......

您可以找到(按顺序)的屏幕截图:

  • Storyboard View
  • WebView 的顶级约束
  • iPhone 上的空白(但 iPad 和 Storyboard 上没有,不应该出现在这里!!)
  • Storyboard结构
  • iPad 上没有空格(这是正常行为,我也希望在较小的设备上使用它)
  • ViewController 参数

StoryBoard View

The white space

Top Constraint on my WebView

Storyboard structure

No whitespace on iPad

ViewController parameters

最佳答案

从视觉上看,空白正是导航栏,这是一个赠品,在针对这些栏进行调整时出现了一些问题。

您的布局中存在矛盾,这可能是问题的根源。您为 map View 选择了“延伸边缘”,但您将 map View 的顶部限制为顶部布局指南。顶部布局指南位于导航栏的底部,因此如果某些东西正在调整插入以使其位于栏下方,并且知道栏高度并假设它位于栏下方,那么就会出现这种情况。

这并不能解释为什么它在包含在选项卡栏的初始 View Controller 中时看起来是正确的,但是当它出现在更多弹出窗口中时,它可能会很快添加到 View 层次结构中,以至于不知道确切的顶部布局指南或顶部栏的位置,因此会导致故障,而在选项卡栏 Controller 选项卡中,它会在多个布局 channel 之一上进行调整。

关于ios - 如何删除其他选项卡上出现的白色顶部空间(UITabBarController),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41938756/

相关文章:

ios - 无法从我的自定义 NSObject 类设置 UILabel 文本

c# - 使用 MonoTouch.Dialog 时更改 TabBarController 和 NavigationController

ios - Heroku:运行我的应用程序的成本有多高?

ios - iPad 周围的黑框 Build

c# - 如何让我的应用程序在加载但未在前台运行时发送通知?

xamarin.ios - 无法使用 iOS 15 模拟器将我的 Xamarin 应用程序部署到 iPhone 13

ios - 在 UITableView 中使用自动布局进行动态单元格布局和可变行高

ios - 如何使用自动布局创建总宽度的百分比?

ios - UITableViewCell 无法使用 systemLayoutSizeFittingSize 获得正确的宽度

ios - 在带有 Xcode 4.2 的 Storyboard UIView 中使用静态单元格