2016-10-17 86 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

乾杯丹只是這樣工作正常 –