如何以编程方式在标签栏控制器下添加UIView?

ric*_*cks 3 tabbar ios adview swift swift3

我正在尝试查看如何在UITabBarController下添加UIView,以便可以向我的应用添加广告,我似乎无法找出将UIView限制在选项卡栏底部的任何方法。这可能吗?

编辑:在选项卡栏的底部,我的意思是在选项卡栏的下方

Kru*_*nal 9

试试这个添加见:

在此处输入图片说明

请按照以下步骤实现它:

  1. UIViewController在情节提要的根目录中添加
  2. Container View进去UIViewController
  3. AdView在下面添加Container view
  4. 嵌入UITabbarControllerContainer view


ric*_*cks 1

我能够在我的 UITabBarController 中创建一个 UIView

lazy var bannerAd: UIView = {
    let view = UIView()
    view.translatesAutoresizingMaskIntoConstraints = false
    view.backgroundColor = .black
    return view
}()
Run Code Online (Sandbox Code Playgroud)

然后将其固定在底部,如下所示:

  view.addSubview(bannerAd)

    bannerAd.heightAnchor.constraint(equalToConstant: 44).isActive = true
    bannerAd.bottomAnchor.constraint(equalTo: self.view.bottomAnchor).isActive = true
    bannerAd.widthAnchor.constraint(equalTo: self.view.widthAnchor).isActive = true
Run Code Online (Sandbox Code Playgroud)

然后为了向上移动标签栏,我这样做了:

override func viewWillLayoutSubviews() {
        if !didStyleTabBar {
            self.tabBar.invalidateIntrinsicContentSize()
            var tabFrame = self.tabBar.frame

            tabFrame.size.height = tabBarHeight
            tabFrame.origin.y = tabFrame.origin.y - 44
            self.tabBar.frame = tabFrame

            didStyleTabBar = true
        }
    }
Run Code Online (Sandbox Code Playgroud)