是否有一种Swift方法用于缩进与cellLayoutMarginsFollowReadableWidth一致的导航栏的大标题?

问题描述 投票:1回答:1

[当前,在iPad上,我的UINavigationBar大标题看起来很奇怪,因为它没有缩进UITableView单元格的位置。这是因为我的表格视图和单元格遵循可读宽度。有没有一种缩进此标题的方法,或者是将单元格与标题对齐的唯一建议(使它们不遵循可读宽度)。非常感谢您抽出宝贵的时间回复。

ios swift uinavigationbar
1个回答
1
投票

[第一次加载视图控制器时,应检索当前minXreadableContentGuide坐标并将该值设置为左侧的layoutMargin值。因此:

let leftMargin = view.readableContentGuide.layoutFrame.minX    
navigationController?.navigationBar.layoutMargins.left = leftMargin

然后,您还需要确保布局可以动态调整,以便如果用户旋转屏幕(或在iPad上,使用可变的窗口大小),标题将保持对齐:

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
    super.viewWillTransition(to: size, with: coordinator)

    coordinator.animate(alongsideTransition: { _ in
        let leftMargin = view.readableContentGuide.layoutFrame.minX    
        navigationController?.navigationBar.layoutMargins.left = leftMargin
    }, completion: nil)
}
© www.soinside.com 2019 - 2024. All rights reserved.