标题几乎说明了。如何在动态表的顶部创建一个静态单元格?我希望能够将它用作我桌子的传奇。感谢。
这是我的tableView代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
JointCAD *currentCall = [[xmlParser calls] objectAtIndex:indexPath.row];
self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"texture3.png"]];
TableViewCell *cell = (TableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[TableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
UIView *selectionView = [[UIView alloc] initWithFrame:CGRectMake(10, 7, 200, 65)];
[selectionView setBackgroundColor: [UIColor clearColor]];
cell.selectedBackgroundView = selectionView;
}
cell.callTypeLabel.text = currentCall.currentCallType;
cell.locationLabel.text = currentCall.location;
cell.unitsLabel.text = currentCall.units;
cell.stationLabel.text = [@"Station: " stringByAppendingString:currentCall.station];
if ([currentCall.callType isEqualToString:@"F"]) {
cell.imageType = Fire;
}
else {
cell.imageType = EMS;
}
if ([currentCall.county isEqualToString:@"W"]) {
cell.imageType1 = Washington;
}
else {
cell.imageType1 = Clackamas;
}
return cell;
}
答案 0 :(得分:1)
这似乎更像是你想要一个表头,而不是一个静态单元格。如果我理解你的问题,你需要一个位于顶部且不移动的单元格,而动态部分中的其他单元格按正常方式向上和向下滚动。
如果是这种情况,请使用tableviewdelegate方法返回标题视图及其大小。
如果情况并非如此,那么我不明白你的问题,抱歉。
答案 1 :(得分:1)
我有类似的问题。我想在顶部有一段动态单元,在底部有一些其他部分都是静态的。我使用了一种解决方法,其中我只是操纵了实际出现在顶部的单元格数,即使整个tableView只是一个静态tableView。我知道我只会在表的动态部分中使用最多7个单元格,因此只要您确保动态部分中一次出现的最大单元格数为< = 7(或者其他您选择的数字),一切都会没有问题。这是你做的:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
int i;
switch(section) {
case 0:
//Do a bunch of checking here on how many i actually need. Then, I will just return the required amount.
// As long as it is less than the number of cells I have statically placed in my .xib, everything works good.
return i;
case 1:
return 3;
case 2:
return 1;
case 3:
return 2;
default:
return 0;
}
}
然后在您的willDisplayCell中,自定义动态的部分:
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell*)currentCell forRowAtIndexPath:(NSIndexPath*)indexPath
{
// DB_NSLog((@"will display CELL"));
if(indexPath.section==0){
currentCell.textLabel.text=nil;
for(int i=0;i<numberOfDevices;i++)
{
//get the names of connected devices from whatever they're array they are stored in
//assign to respective labels
//just using row indexes as tester for passing to the device specifiic settings page
if(i==indexPath.row){
//do whatever customization you want here
currentCell.textLabel.text=[tempDic objectForKey:@"deviceName"];
// currentCell.textLabel.textAlignment=UITextAlignmentCenter;
currentCell.textLabel.font=[UIFont fontWithName:@"System" size:17];
currentCell.textLabel.textColor=[UIColor colorWithRed:0 green:0.32156863 blue:0.54117647 alpha:1.0];
}
}
}
如果您有任何疑问,请与我联系!