ios - UINavigationBar 横向裁剪

标签 ios swift uinavigationbar

我遇到这样的情况,导航栏在纵向模式下看起来不错,但在横向模式下被裁剪了:

纵向 portraid mode

风景 landscape mode

我将 UINavigationBar 子类化如下:

class CustomNavigationBar: UINavigationBar {
    override func sizeThatFits(size: CGSize) -> CGSize {
        let newSize :CGSize = CGSize(width: self.frame.size.width, height: 64)
        return newSize
    }
}

并通过 StoryBoard 将其分配给适当的导航 Controller :

CustomNavigationBar

但这没有什么区别。

有什么想法吗?

最佳答案

导航栏在纵向和横向模式下具有不同的高度。您应该根据导航栏高度处理自定义标题 View 的内容。使用自动布局在导航栏高度变化时自动调整 subview 。

关于ios - UINavigationBar 横向裁剪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42581934/

相关文章:

objective-c - 有什么方法可以读取Settings.app中的设置值?

ios - 如何在相册上选择图像 - iOS 测试 KIF

swift - 如何在变量中存储浮点类型的十进制值(Swift)

swift - UIDocumentPicker 导航栏按钮在 iOS 11 中被隐藏

ios - 预期申报错误

ios - 用自定义按钮替换左侧导航按钮,然后返回

objective-c - 如何将工具栏添加到 UITableView obj-c/ios/xcode 的底部

ios - MapKit Overlay Swift 问题

ios - 在 2 个 ViewController 之间推送 - NavigationBar

ios - swift 4中导航栏的高度