Ho un pulsante in un UITableViewCell che è memorizzato come un ivar chiamato currentButton. Quando viene cliccato quel pulsante, un UIView contenente UIPickerView e UIToolBar viene richiamato e visualizzato nella parte inferiore dello schermo. Tuttavia, ho guardato altri post per ore e questo codice seguente non funziona ancora. Le celle a volte scorrono verso il basso sotto la tastiera e le celle completamente nella parte inferiore di UITableView non scorrono abbastanza per andare in cima a UIView backgroundPickerView. Questo è il mio codice:Scorri UITableViewCell a visibile non funzionante come previsto
CGPoint center = currentButton.center;
CGPoint rootViewPoint = [currentButton.superview convertPoint:center toView:self.view];
NSIndexPath *indexPath = [measurementTableView indexPathForRowAtPoint:rootViewPoint];
CGRect cellRect = [measurementTableView rectForRowAtIndexPath:indexPath];
if (cellRect.origin.y + cellRect.size.height >= backgroundPickerView.frame.origin.y) {
[measurementTableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
CGPoint offset = measurementTableView.contentOffset;
offset.y += ((cellRect.origin.y - cellRect.size.height) - backgroundPickerView.frame.origin.y);
[measurementTableView setContentOffset:offset animated:YES];
}
Qualcuno vede cosa sto facendo male qui?
È self.view e measurementTableVedere la stessa vista? – wj2061
@ wj2061 no, self.view contiene measurementTableView –
Hai trovato qualche soluzione o no? –