2016-10-17 66 views
0

我有一个添加子视图的高度为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() 

    } 

回答

-1

编辑: 作为内特下面指出的那样,你也可以继承UIToolbar和覆盖高度你想要的任何自定义高度。这比用正常的UIView克隆它要干净得多,因为你仍然可以获得所有其他的自然UIToolbar行为。

原文:不幸的是,你几乎卡在44.0px的典型UIToolbar高度。

如果我绝对不得不使用50px高的东西,我会隐藏实际的工具栏,并用一个看起来完全一样的UIView来欺骗它。使用UIButtons模拟UIBarButtonItems可能会遇到一些问题,但是如果它要高出50px,这可能是实现UI的最快捷方式。

+0

我很害怕!唯一的问题是我将视图添加到tableViewController中,并且我无法将视图粘贴到屏幕的底部,并且在表视图滚动时无法移动。有任何想法吗? –

+0

我想你只需要使用UIViewController,并将UITableView和UIView嵌入其中。它不应该太麻烦,它会允许您在视图层次结构中进行更多的自定义。 编辑:也有hackier的方式来做到这一点,比如捕获viewDidLoad中对UITableView的引用,交换一个新的UIView作为self.view,并添加你的tableView作为新的self.view的子视图,但是我通常不会推荐它,因为它是不吉利的,而另一种方式并不难。祝你好运:) –

+0

干杯丹只是这样工作正常 –