【问题标题】:Change height of toolbar更改工具栏的高度
【发布时间】:2017-02-27 00:12:09
【问题描述】:

我有一个工具栏,其中添加了一个高度为 50 的子视图。子视图运行良好,但工具栏切断了视图的底部。

我曾尝试使用 CGRectMake 更改框架,但这没有任何效果。

代码如下:

var bannerAdView: FBAdView!


    override func viewDidAppear(animated: Bool) {
        super.viewWillAppear(false)

        self.navigationController?.setToolbarHidden(false, animated: true)
        bannerAdView = FBAdView(placementID: "bannerID", adSize: kFBAdSizeHeight50Banner, rootViewController: self)
        bannerAdView.delegate = self
        navigationController?.toolbar.addSubview(bannerAdView)
        navigationController?.toolbar.frame = CGRectMake(0,50,320,50)
        bannerAdView.loadAd()

    }

【问题讨论】:

    标签: ios uinavigationcontroller uitoolbar


    【解决方案1】:

    编辑: 正如 Nate 在下面指出的,您可以继承 UIToolbar 并将高度覆盖为您想要的任何自定义高度。这比使用普通 UIView 克隆它更干净,因为您仍然可以获得所有其余的自然 UIToolbar 行为。

    原文:不幸的是,您几乎被 44.0 像素的典型 UIToolbar 高度所困。

    如果我绝对必须使用 50 像素高的东西,我会隐藏实际的工具栏并使用看起来一模一样的 UIView 来欺骗它。用 UIButtons 模拟 UIBarButtonItems 可能会遇到一些问题,但如果它必须是 50px 高,那可能是实现 UI 的最快方法。

    【讨论】:

    • 我很害怕!!唯一的问题是我将视图添加到 tableViewController 并且我无法让视图粘在屏幕底部并且在表格视图滚动时不移动。有什么想法吗?
    • 我认为您只需要使用 UIViewController,并将您的 UITableView 和 UIView 嵌入其中。这应该不会太麻烦,它可以让您在视图层次结构中进行更多自定义。编辑:也有更老套的方法,比如在 viewDidLoad 中捕获对 UITableView 的引用,为 self.view 交换一个新的 UIView 并将你的 tableView 添加为新 self.view 的子视图......但我不会通常不推荐它,因为它很不稳定,而另一种方式并不难。祝你好运:)
    • 不正确。您可以继承 UIToolbar 并将其高度从默认值 44 更改。不必使用 UIView(尽管这是另一种方法)。
    猜你喜欢
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 2015-08-28
    • 2016-03-31
    • 1970-01-01
    • 1970-01-01
    • 2020-05-09
    • 1970-01-01
    相关资源
    最近更新 更多