我正在尝试设置一个UITableView,每个部分有x个节和X个行。
但是我想在我的UITableView
顶部添加一行是否有办法将其硬编码到视图中?
我目前根据NSdictionary返回每个部分的节数和行数。
- (NSInteger)numberOfSectionsInTableView: (UITableView *)tableView
{
// Return the number of sections.
return [letterDictionary count];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
// returns the number of rows per section based off each entry in letterDictionary
currentLetter = [sectionLetterArray objectAtIndex:section];
return [[letterDictionary objectForKey:currentLetter] count];
}
答案 0 :(得分:1)
您可以在表格视图中添加“标题”。
在你的tableview类中:
self.tableView.tableHeaderView = yourView;
答案 1 :(得分:0)
您不能在表格中的UItable上方添加一行。如果您只需要一行文本,为什么不根据您的需要使用UITextField,UILabel或UITextView,只需将它放在您的UItable上方即可。
如果我不理解你,你只想在第一部分中添加一行作为第一行,那么你需要做的就是这样:
if (section == 0) {
return [[letterDictionary objectForKey:currentLetter] count]+1;
} else
{
return [[letterDictionary objectForKey:currentLetter] count];
}
并确保在为indexpath返回行时,您还有一个类似的if语句,并返回section == 0和row == 0所需的任何内容。
但如果你向下滚动你的桌面视图,第一行肯定会滚动 - 正如我所说,我不确定你需要什么。
答案 2 :(得分:0)
您可以尝试自定义tableview部分的标题...
例如,您可以使用以下内容:
YourController.h
-(UIView *)headerView;
YourController.m
-(UIView *)headerView
{
UIView *header = [[UIView alloc] initWithFrame:CGRectZero];
// Place everything you want in your header
// using [header addSubview:yourSubview];
// Finally set header's frame and return it
header.frame = CGRectMake(0.0, 0.0, 320.0, 44.0);
return header;
}
// Use this to return header's height
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
if (section == yourSection)
{
return [self headerView].frame.size.height;
}
else
{
return [self sectionHeaderHeight];
}
}
// Use this to return your view
-(UIView *)tableView:(UITableVIew *)tableVIew viewForHeaderInSection:(NSInteger)section
{
if (section == yourSection) // To show the header only on a specified section
{
return [self headerView];
}
else
{
return nil;
}
}
如果您改变主意并希望在tableView下方进行自定义,则可以使用相同的方法更改页眉与页脚。
最后看看有关这些方法的文档:
- tableView:viewForHeaderInSection:
- tableView:heightForHeaderInSection:
- tableView:viewForFooterInSection:
- tableView:heightForFooterInSection:
希望这符合您的需求!