Ответ 1
Использование -
tableView.contentInset = UIEdgeInsetsMake(0, 0, 120, 0); //values
- верх, левый, нижний, правый
Пропустить нижнее смещение в соответствии с вашими потребностями.
Я очень новичок в iOS. У меня есть UITableView, который заполнен множеством настраиваемых ячеек, но нижняя ячейка не отображается должным образом, когда прокрутка вниз. Значение Y для UITableView равно 44, а высота - 480. При прокрутке вниз отображается только половина последней ячейки. Как я могу исправить эту проблему.
Спасибо заранее.
Использование -
tableView.contentInset = UIEdgeInsetsMake(0, 0, 120, 0); //values
- верх, левый, нижний, правый
Пропустить нижнее смещение в соответствии с вашими потребностями.
это потому, что вы неправильно настроили фрейм табличного представления, если в вашем представлении есть панель навигации, обычно используйте этот код:
CGRect frame = self.view.bounds;
frame.height -= 44;
44 - высота вашей панели навигации.
Если у вас есть строка состояния, видимая сверху, тогда она будет занимать 20 пикселей, которая будет толкать ваш TableView тем же. Чтобы этого избежать, сделайте таблицу height height 460 вместо 480.
Если вы находитесь на iOS7 и с помощью панели навигации контроллера навигации, убедитесь, что он установлен полупрозрачным:
self.navigationController.toolbar.translucent = NO;
Для меня это сработало.
Я прокомментировал свой код
-(void)viewWillLayoutSubviews
{
dispatch_async(dispatch_get_main_queue(), ^{
//This code will run in the main thread:
CGRect frame = tableViewObj.frame;
frame.size.height = tableViewObj.contentSize.height;//commenting this code worked.
tableViewObj.frame = frame;
});
}
Что это. Это сработало для меня. Убедитесь, что вы не изменили кадр таблицы, где в файле реализации.