Прокрутите UITableView так, чтобы заголовок не был видим

Я думаю, что все, что сказал Майкл_Б, верен. Только решения немного неудобны. Я лично не люблю вычислять. Это просто не так.

Проблема у вас более общая. Вы накладываете слишком много обязанностей на один элемент. В этом случае это класс .button. Flex и Margin с гибким ростом - это слишком большая ответственность. Попытайтесь разбить это. Это означает больше элементов DOM, но это сэкономит вам много боли.

.numbers {
  display: flex;
  flex-direction: column;
  max-width: 200px;
  margin: 0 auto;
}

.row {
  display: flex;
  flex-direction: row;
  flex-grow: 1;
  justify-content: space-between;
}

.row > .box {
  display: flex;
  flex-basis: 33.3333%;
  justify-content: center;
  align-items: center;
}

.row > .box.box-2 {
  flex-basis: 66.6667%;
}

.button {
  border-radius: 5px;
  border: 1px solid gray;
  background: rgba(255, 255, 255, 0.2);
  cursor: pointer;
  width: auto;
  text-align: center;
  margin: 5px;
  width: 100%;
}
<div class="numbers">
    <div class="row">
      <div class="box"><div class="button number" id="number1">1</div></div>
      <div class="box"><div class="button number" id="number2">2</div></div>
      <div class="box"><div class="button number" id="number3">3</div></div>
    </div>
    <div class="row">
      <div class="box"><div class="button number" id="number4">4</div></div>
      <div class="box"><div class="button number" id="number5">5</div></div>
      <div class="box"><div class="button number" id="number6">6</div></div>
    </div>
    <div class="row">
      <div class="box"><div class="button number" id="number7">7</div></div>
      <div class="box"><div class="button number" id="number8">8</div></div>
      <div class="box"><div class="button number" id="number9">9</div></div>
    </div>
    <div class="row">
      <div class="box box-2"><div class="button number" id="number0">0</div></div>
      <div class="box"><div class="button" id="colon">:</div></div>
        
        
    </div>
</div>

25
задан Jens Kohl 4 July 2009 в 08:09
поделиться

4 ответа

Может быть, вы можете попробовать вот так ...

[self.tableView setContentOffset:CGPointMake(0,40)];
33
ответ дан 28 November 2019 в 18:10
поделиться

Это работает для меня.

- (void)viewDidLoad {
    [super viewDidLoad];

    self.tableView.bounces = YES;
}

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];

    [self.tableView setContentOffset:CGPointMake(0, 44)];
}
3
ответ дан neoneye 15 October 2019 в 15:17
поделиться

Мне нравится делать это следующим образом:

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];

    // Hide the table view header by default.
    NSIndexPath *index = [NSIndexPath indexPathForRow:0 inSection:0];
    [self.tableView scrollToRowAtIndexPath:index atScrollPosition:UITableViewScrollPositionTop animated:NO];
}

Таким образом, вам не нужно беспокоиться о том, насколько высокий ваш заголовок. Это просто работает!

-2
ответ дан Caborca87 15 October 2019 в 15:17
поделиться

У меня тоже сработало. Я использовал следующее:

[self.tableView setContentOffset:CGPointMake(0, self.searchDisplayController.searchBar.frame.size.height) animated:NO];

, чтобы запросить высоту строки поиска.

25
ответ дан 28 November 2019 в 18:10
поделиться
Другие вопросы по тегам:

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