Bagaimana cara memastikan bahwa tampilan tableViewController mengambil layar penuh?

Dalam metode viewDidLoad saya menambahkan kombinasi ini dan saya tidak dapat membuatnya berfungsi:

 CGRect appFrame = [[UIScreen mainScreen] applicationFrame];
 [[self tableView] setBounds:appFrame]; 
 // self.view.frame = appFrame;
// self.view.bounds = appFrame;
// [[self tableVew] setFrame:appFrame];
 self.view.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;

Selalu ada celah 20px di bagian atas dengan layar saya sebelumnya terlihat.


person Bryan    schedule 18.08.2009    source sumber


Jawaban (2)


20px adalah ruang untuk bilah status (dokumen di -applicationFrame membahasnya). Sudahkah Anda mematikan bilah status (dengan -setStatusBarHidden:animated:)?

person Rob Napier    schedule 18.08.2009
comment
Saya tidak menyembunyikan bilah status. Itu masih terlihat. Kesenjangan dengan tampilan layar lama saya tepat di bawah bilah status. Anda mungkin benar dan ini ada hubungannya dengan bilah status. - person Bryan; 19.08.2009
comment
Masalahnya adalah applicationFrame menyediakan offset 20px untuk statusbar. Anda kemudian menerapkan bingkai itu ke tampilan yang ada di dalam tampilan lain (mungkin jendela jika tidak ada yang lain), sehingga bingkai baru Anda diimbangi dari induk Anda sebesar 20 piksel. Anda sebenarnya ingin mengatur bingkai Anda menjadi ukuran bingkai orang tua Anda (atau pada akhirnya bingkai jendela). Jendela sudah menjadi layar penuh. Apa layar sebelumnya yang Anda sebutkan di sini? - person Rob Napier; 19.08.2009
comment
Terima kasih Rob. Layar sebelumnya adalah viewController lain - layar permainan utama saya. Layar yang saya kerjakan adalah layar hasil. Saran Anda di sini langsung mengarah ke solusi saya di bawah ini. Terima kasih. - person Bryan; 19.08.2009

Daripada mengatur batas bingkai aplikasi: CGRect appFrame = [[UIScreen mainScreen] applicationFrame]; Saya menetapkan batas ke batas aplikasi: CGRect appFrame = [[UIScreen mainScreen] batas];

Lalu saya mengaturnya ke batas tampilan tabel saya [[self tableView] setBounds:appFrame];

person Bryan    schedule 18.08.2009