Изменение размера панели навигации, встроенной в UINavigationController

У меня есть свои представления (UITableViewController), и после storyBoard я встроил эти представления в NavigationController. Дело в том, что я хочу изменить размер NavigationBar, который входит в UINavigationController, в частности, я хочу изменить высоту.

Я обрабатываю следующий код в ViewDidAppear, чтобы внести изменения.

//TESTING NAVIGATIONBAR CUSTOM
    let bounds = UIScreen.mainScreen().bounds
    //let screenHeight = bounds.height



    let nav = self.navigationController?.navigationBar


    nav?.barStyle = UIBarStyle.Black
    nav?.tintColor = UIColor.yellowColor()
    // nav?.frame = CGRectMake(0, 0, bounds.size.width, 60)
    nav?.frame=CGRectMake(0, 0, bounds.size.width, 80)

    //END NAVIGATIONBAR CUSTOM

И часть модификации работает, проблема возникает, когда я запускаю приложение и появляется пустая полоса между навигационной панелью и первой ячейкой UITableViewController.

Franja blanca

Как можно избежать полосы?

0
задан 10.03.2016, 23:28
1 ответ

Эта полоса не соответствует UINavigationController но это вероятно высота header UITableView. Осуществляет следующий mГ©todo UITableViewDelegate таково, что asГ-:

// MARK: - UITableViewDelegate
func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {

    return CGFloat.min

}

Для того, чтобы header были у одного height mГ-nimo и asГ - способствовать тому, чтобы не видели.

ACTUALIZACIГ “N 1

DespuГ©s изменения tamaГ±o UINavigationBar ты должен переделывать insets UITableView для того, чтобы они приспособились правильно. Например такой, что asГ-:

nav?.frame = CGRectMake(0, 0, bounds.size.width, 80)
tableView.contentInset = UIEdgeInsets(top: 44, left: 0, bottom: 0, right: 0)
tableView.scrollIndicatorInsets = UIEdgeInsets(top: 44, left: 0, bottom: 0, right: 0)

С cГіdigo, который ты послал, у тебя остается решенным.

1
ответ дан 24.11.2019, 14:45
  • 1
    Я осуществил функцию и полоса продолжает появляться. ЕСЛИ я удаляю линию nav?.frame=CGRectMake(0, 0, bounds.size.width, 80), полоса исчезает, но tama и # 241; или navigationBar останься tama и # 241; или по умолчанию. – Víctor Gonzal 10.03.2016, 23:51
  • 2
    Прощение, он не исчезает полностью, но у полосы есть толщина одних или двух пикселей. он сокращается согласно tama и # 241; или navBar. – Víctor Gonzal 10.03.2016, 23:54
  • 3
    #191; Быть и # 237; в возможный, который ты пересылал c и # 243; я говорю Dropbox или сходно, чтобы бросать беглый взгляд? – mhergon 11.03.2016, 00:04
  • 4
    Ну конечно. dl.dropboxusercontent.com/u/4915071/Myapp.zip надеялся, что он полезен – Víctor Gonzal 11.03.2016, 00:58
  • 5
    Ма и # 241; ана смотреть и # 233; нахождения soluci и # 243; n, но сыграй со стоимостью tableView.contentInsets, так как она кажется проблемой tableView – mhergon 11.03.2016, 02:29

Теги

Похожие вопросы