uitabbarcontroller头和身体布局

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

也许没有办法。我很确定有一种方法可以自定义uitabbarcontroller布局工作。 我的问题是关于在uitabbarcontroller中拥有一个标题和身体。我在tabbarlayout中有以下代码。

tabbarlayout.swift

import UIKit class TabBarLayout: UITabBarController { @IBOutlet var viewHeader: UIView! override func viewDidLoad() { super.viewDidLoad() viewHeader.translatesAutoresizingMaskIntoConstraints = false view.addSubview(viewHeader) let leftSide = NSLayoutConstraint(item: viewHeader!, attribute: .left, relatedBy: .equal, toItem: view, attribute: .left, multiplier: 1.0, constant: 0.0) let rightSide = NSLayoutConstraint(item: viewHeader!, attribute: .right, relatedBy: .equal, toItem: view, attribute: .right, multiplier: 1.0, constant: 0.0) let topSide = NSLayoutConstraint(item: viewHeader!, attribute: .top, relatedBy: .equal, toItem: view, attribute: .top, multiplier: 1.0, constant: 0.0) let height = NSLayoutConstraint(item: viewHeader!, attribute: .height, relatedBy: .equal, toItem: nil, attribute: .notAnAttribute, multiplier: 1, constant: 100) view.addConstraint(leftSide) view.addConstraint(rightSide) view.addConstraint(topSide) view.addConstraint(height) } }

tabbar.storyboard
故事板的uitabbarcontroller带有故事板参考。

buy.storyboardUITabBarController Layout 购买故事板显示以下屏幕截图:

BUYCONTROLLER.SWIFTBuy Storyboard import UIKit class BuyController: UIViewController { override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) print("BUYCONTROLLER") let tbc = tabBarController as! TabBarLayout // How do I align this view's topAnchor to viewHeader's bottom anchor? } }

我应该如何使购买故事板的顶部锚与ViewHeader的底部锚点,以便可见测试标签? ios模拟器的解析

trory在buycontroller.swift的ViewWillAppear中调整Adefalsafeareainsets。这样可以确保视图尊重Viewheader所占的空间。

BUYCONTROLLER.SWIFT:

override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) let tbc = tabBarController as! TabBarLayout let headerHeight = tbc.viewHeader.frame.height self.additionalSafeAreaInsets.top = headerHeight } iOS Simulator 该方法基于ViewHeader的高度,动态设置了AffearalSafeareAinsets.top。因此,购买Controller的内容从ViewHeader下方开始,防止重叠。

ios swift storyboard
1个回答
0
投票
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.