Предположим, чтобы ваш UITableViewController
@interface MXMTableViewController : UITableViewController <UITableViewDelegate,UIScrollViewDelegate> {
/// your table view interface here
}
и XIB с вами простой UITableView
определен еще в нем, вы можете сделать, как Mihir говорит перекрывая loadView
метод, как это:
- (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];
}
.. .вот и все. У вас есть UITableView
с фиксированным верхним и нижним колонтитулом.
PS. Теперь вы можете использовать свои пользовательские представления xib как представления заголовка и нижнего колонтитула.
Мне нужно поставить больше, чем заголовок текста, который предоставляет UITableView. Это будет 100px или так высокой области с изображением человека в левой части и некоторыми деталями справа. Вид таблицы под заголовком будет списком сообщений человека в блог компании. Вот почему мне нужна область заголовка отдельно от UITableView. –
Тогда лучший подход - сделать таблицу меньшей. Убедитесь, что свойство View Controllers «view» является фактическим UIView, а не UITableView таким образом, что вы можете сначала перетащить UITableView в UIView, а затем перетащить границы до нужного размера. –
Тем не менее, предоставление вашего индивидуального UIView для tableView: viewForHeaderInSection: возможно, будет работать в этом случае! –