Ecco un video di quello che sta succedendo: https://imgflip.com/gif/kgvcqUITableView non si riprenderà dopo lo scorrimento verso il basso dello schermo passato
In sostanza, se le cellule scorrere oltre il bordo inferiore dello schermo, esso non riprenderà. Ho provato ad aggiornare il contentSize
del tableView
ma questo non sembra essere il problema. Mi sono anche assicurato di dichiarare lo rowHeight
e ancora senza fortuna. Infine, mi sono assicurato che le proprietà bounce
di tableView
siano impostate correttamente.
Hi guys dispiace di non tirare sul codice, eccolo:
// data source
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"frame height: %f", tableView.frame.size.height);
NSLog(@"content size height: %f", tableView.contentSize.height);
static NSString *CellIdentifier = @"HabitCell";
HabitTableViewCell *cell = (HabitTableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell.viewController = self;
cell.delegate = self;
// edit cell
return cell;
}
Il NSLogs
stanno tornando: 568 e 400, rispettivamente. Sarebbe il telaio a causare problemi? Inoltre, non ho sovrascritto scrollViewDidScroll
.
Implementato dati Metodi Fonte
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
// Return the number of rows in the section.
return [self.habits count];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if ([indexPath isEqual:_expandIndexPath]) {
return 450 + heightToAdd;
}
return 100;
}
Difficile determinare cosa sta succedendo senza alcun codice reale ... Stai aggiornando 'contentOffset' manualmente da qualche parte? Sembra come il problema '=' invece di '==': ma probabilmente è solo un'ipotesi inverosimile. Hai scavalcato 'scrollViewDidScroll'? –
Hai anche impostato la dimensione della cornice? –
Mostraci un codice amico ... –