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

Edit: Как Нейт указал ниже, вы можете создать подкласс UIToolbar и переопределить высоту до любой пользовательской высоты вы хотите. Это было бы чище, чем клонирование его обычным UIView, так как вы все равно получите все остальное естественное поведение UIToolbar.

Оригинал: к сожалению, вы довольно сильно зациклились на типичной высоте UIToolbar 44.0px.

Если бы мне абсолютно нужно было использовать что-то 50px, я бы спрятал фактическую панель инструментов и обманул ее UIView, который выглядит точно так же, как один. У вас могут возникнуть проблемы с эмуляцией UIBarButtonItems с помощью UIButtons, но если это должно быть 50px, это, вероятно, самый быстрый способ реализовать ваш пользовательский интерфейс.

+0

Я боялся этого !! Единственная проблема заключается в том, что я добавляю представление в tableViewController, и я не могу заставить представление придерживаться нижней части экрана и не перемещаться при прокрутке вида таблицы. Есть идеи? –

+0

Думаю, вам просто нужно использовать UIViewController и встроить в него UITableView и UIView. Это не должно быть слишком много неприятностей, и это позволит вам больше настраивать внутри вашей иерархии просмотров. Редактировать: есть и хакерские способы сделать это, например, захватить ссылку на UITableView в viewDidLoad, обменяв новый UIView на self.view и добавив ваш tableView в качестве подзапроса нового self.view ... но я бы вообще не рекомендовал его, потому что это неудобно, а наоборот - не сложно. удачи :) –

+0

Cheers Dan просто сделал то, что отлично работает –

Смежные вопросы