Supponiamo di avere il vostro UITableViewController
@interface MXMTableViewController : UITableViewController <UITableViewDelegate,UIScrollViewDelegate> {
/// your table view interface here
}
e XI ter con voi semplice UITableView
ancora definito in esso, si può fare come dice Mihir override del metodo loadView
in questo modo:
- (void)loadView {
[super loadView];
UIView *mainView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
self.view = mainView;
[mainView release];
// Add Header View
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 36)];
headerView.backgroundColor = [UIColor redColor];
[self.view addSubview:headerView];
// now, move your table view down. Check you nib to choose
// the right Y-axis offset
CGRect f = tableView.frame;
f.origin.y += headerView.frame.size.height/2;
tableView.frame = f;
// Add the table view to the container view
[self.view addSubview:self.tableView];
// Add footer
UIView *footerView = [[UIView alloc] initWithFrame:CGRectMake(0, self.tableView.frame.size.height, 320, 125)];
footerView.backgroundColor = [UIColor redColor];
[self.view addSubview:footerView];
[footerView release];
[headerView release];
}
.. . E questo è tutto. Hai un UITableView
con intestazione e piè di pagina fissi.
PS. Ora puoi utilizzare le tue visualizzazioni personalizzate xib come viste dell'intestazione e del piè di pagina.
Ho bisogno di inserire più dell'intestazione di testo fornita da UITableView. Sarà un'area di 100px o così alta con l'immagine di una persona sul lato sinistro e alcuni dettagli sulla destra. La vista tabella sotto l'intestazione sarà un elenco dei post della persona in un blog aziendale. Ecco perché ho bisogno di un'area di intestazione separata da UITableView. –
Quindi l'approccio migliore sarebbe rendere la tabella più piccola. Assicurati che la proprietà "view" della View Controller sia una UIView effettiva e non una UITableView così puoi prima trascinare un UITableView su UIView e poi trascinare i bordi alla dimensione desiderata. –
Ancora, fornendo il tuo UIView personalizzato per tableView: viewForHeaderInSection: probabilmente funzionerebbe in quel caso! –