Ciò di cui si ha bisogno è un normale UITableViewController
(in modo da ottenere tutto il comportamento della cella statica) e quindi la vista come vista secondaria della vista tabella, ma gestita in modo tale che rimanga sempre nella parte inferiore dello schermo. Apple lo ha dimostrato come WWDC. Ecco cosa faccio (nel mio esempio, ho un UIDatePicker
che voglio sempre ancorato in fondo):
In viewDidLoad
, crea la tua vista e aggiungila come vista secondaria della vista tabella. Posizionalo nella parte inferiore della visualizzazione tabella.
[self.tableView addSubview:self.datePicker];
[self updateDatePickerBounds];
Implementare scrollViewDidScroll
in modo che è possibile forzare l'immagine per la parte inferiore dello schermo mai tempo i rotoli vista tabella:
- (void) scrollViewDidScroll:(UIScrollView *)scrollView
{
// Keep the date picker floating above the table view, anchored to the bottom of the view
[self updateDatePickerBounds];
}
e quindi implementare una funzione che posiziona il vostro avviso correttamente:
- (void) updateDatePickerBounds
{
// Keep the date picker floating above the table view, anchored at the bottom
CGRect tableBounds = self.tableView.bounds;
CGRect pickerFrame = self.datePicker.frame;
pickerFrame = CGRectMake(tableBounds.origin.x,
tableBounds.origin.y + CGRectGetHeight(tableBounds) - CGRectGetHeight(pickerFrame),
tableBounds.size.width,
pickerFrame.size.height);
self.datePicker.frame = pickerFrame;
}
Infine, se non si desidera che la vista tabella vada sotto la vista inferiore, è sufficiente impostare la vista tabella contentInset
in modo che corrisponda alla otto del tuo punto di vista.
Ho anche chiamato il mio metodo updateDatePickerBounds
da viewWillAppear
. Ho dimenticato perché dovevo farlo.
fonte
2012-09-04 21:54:46
Il piè di pagina è visibile solo quando si è in fondo al tavolo, corretto? Ho bisogno che questa vista sia visibile in ogni momento. – lnafziger
Ottima soluzione! È possibile aggiungere un normale UIView prima o dopo una sezione di visualizzazione tabella che è sostanzialmente la stessa di integrarla viceversa e in realtà funziona. –