A UIViewController
с панелью навигации, панелью инструментов и баннером admob. Ниже приведен код для расчета высоты UITableView
, удалив высоту баннера admob, панели навигации и панели инструментов.iOS UITableView высота вопрос, когда 3,5-дюймовый дисплей симулятора
Высота UITableview
высока, если работает на экране симулятора IPhone 5 и 4 дюйма. Но если 3,5-дюймовый дисплей и не сетчатый дисплей, нижняя часть UITableView
не может быть прокручена до.
Независимо от 4-х дюймов, 3,5-дюйма, а не-сетчатка отображения Высота (self.view.bounds) такая же, 548. И высота ячейки 41.
Для 3,5 дюймов и отображение без сетчатки, если я минус 88 (высота панели навигации и высота панели) после удаления высоты баннера admob, панели навигации и высоты панели. Затем UITableView прокручивается в порядке. Но это не совсем нормально для 4-дюймового дисплея.
Любой комментарий помогает, спасибо.
- (void)viewDidLoad{
// admob banner
bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeBanner];
bannerView_.rootViewController = self;
[self.view addSubview:bannerView_];
// uitableview
CGRect rect = self.view.bounds;
rect.origin.y = bannerView_.frame.size.height;
rect.size.height = rect.size.height - bannerView_.frame.size.height
- (self.navigationController.toolbar.frame.size.height)
- (self.navigationController.navigationBar.frame.size.height);
myTableView = [[UITableView alloc] initWithFrame:rect style:UITableViewStylePlain];
[self.view addSubview:myTableView];
}
Как и где вы создаете self.view? – Alex
Привет, алекс вы даете мне эту идею. UIViewController использует XIB-файл. И его текущий размер составляет 4 дюйма. Возможно, именно поэтому высота представления всегда равна 548, независимо от использования 3,5 или 4 дюймовых дисплеев. После изменения «Размер» на «Нет» свиток UITableView теперь является FINE. Спасибо всем. Я думаю, что это ответ. Но я не могу отметить ваш комментарий как ответ. – andrewwang1TW