Pertanyaan iOS TabbarViewController menyembunyikan bilah tab


Saya memiliki viewcontroller yang mengimplementasikan UITabbarViewController, dan saya ingin bersembunyi tab bar dan menimpanya sendiri,

self.tabBar.hidden = YES;

tab bar menghilang TAPI ada area kosong (yang biru) di bagian bawah tampilan. Saya tidak ingin area kosong, bagaimana cara memperbaikinya? Terima kasih.

edit: area biru adalah:

self.view.backgroundColor = [UIColor blueColor];

24
2018-03-08 14:19


asal


Jawaban:


Kami telah melakukan hal yang sama dalam aplikasi kami. Untuk menyembunyikan TabBar default, cukup ganti hidesBottomBarWhenPushed metode di pengendali tampilan induk Anda (atau di setiap pengontrol tampilan di Aplikasi Anda)

#pragma mark - Overriden UIViewController methods
- (BOOL)hidesBottomBarWhenPushed {
    return YES;
}

EDIT: Nilai ini juga dapat diatur dari Storyboard:

enter image description here


65
2018-03-08 15:07



Saya tidak berpikir ada cara mudah untuk memperbaiki ini karena UITabbarViewController mungkin adalah tampilan super Anda dan semua ketinggian "dalam" tampilan = screenHeight - tabBarHeight - navBarHeight.

Mungkin Anda dapat mencoba mengubah ukuran pengontrol tampilan internal secara manual, tetapi kemudian saya pikir Anda mungkin mengalami masalah dengan proses pengajuan AppStore Apple, karena menurut saya ini melanggar pengalaman pengguna iOS umum.


1
2018-03-08 14:27



Dan ini adalah bagaimana Anda akan mengganti (UIViewController) di Swift:

override var hidesBottomBarWhenPushed: Bool {
    get { return true }
    set { super.hidesBottomBarWhenPushed = newValue }
}

1
2017-08-28 10:20



Saya UITabBarController ditempatkan dalam tampilan penampung. Mengecek "Hide Bottom Bar on Push" tidak berfungsi untuk saya. Sebaliknya, saya membuat subkelas dari pengontrol tab bar dan menyembunyikan bilah tab secara terprogram.

class FooTabBar: UITabBarController {
  override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    self.tabBar.isHidden = true
  }
}

1
2017-07-24 22:33